bpsk调制matlab代码(bp算法matlab代码)[20240421更新]
admin 发布:2024-04-21 22:31 161
今天给各位分享bpsk调制matlab代码的知识,其中也会对bp算法matlab代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用matlab进行BPSK调制和解调的仿真
- 2、如何用Matlab编写码率为1/2的卷积码+BPSK调制
- 3、matlab编程实现最大似然解调 采用BPSK调制 并画出误码率曲线
- 4、求matlab高手解答
- 5、用MATLAB求BPSK、BFSK、BASK的解调和调制程序
- 6、随机产生100个数字信号.对其进行bpsk调制 其载波频率为100hz 试用matlab画出 急求
用matlab进行BPSK调制和解调的仿真
function output_frame = demodulation(input_modu, index)
% demodulation for IEEE802.11a
% Input: input_modu, complex values representing constellation points
% index
% Output: output_frame, output bit stream (data unit is one bit)
% In this version, increase the quatilization levels into 8.
% note: Matlab index starts from 1
Q_length=length(input_modu);
QAM_input_I = real(input_modu);
QAM_input_Q = imag(input_modu);
output_frame = zeros(1,length(input_modu)*index);
switch index
case 1,
BPSK_Demodu_I = [0 1]; %f(m)=(m+1)/2 + 1, so I=-1 --- 1, I=1 --- 2
idx = find(QAM_input_I1);
QAM_input_I(idx) = 1;
idx = find(QAM_input_I-1);
QAM_input_I(idx) = -1;
output_frame = BPSK_Demodu_I(round((QAM_input_I+1)/2) + 1);
case 2,
QPSK_Demodu_IQ = [0 1]; %f(m)=(m+1)/2 + 1, so I=-1 --- 1, I=1 --- 2
idx = find(QAM_input_I1);
QAM_input_I(idx) = 1;
idx = find(QAM_input_I-1);
QAM_input_I(idx) = -1;
idx = find(QAM_input_Q1);
QAM_input_Q(idx) = 1;
idx = find(QAM_input_Q-1);
QAM_input_Q(idx) = -1;
output_frame(1:2:end) = QPSK_Demodu_IQ(round((QAM_input_I+1)/2) + 1);
output_frame(2:2:end) = QPSK_Demodu_IQ(round((QAM_input_Q+1)/2) + 1);
case 3,
remapping=[0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1].';
for i=1:Q_length
phase_det=[2QAM_input_I(i)0QAM_input_Q(i) 0QAM_input_I(i)QAM_input_I(i)20QAM_input_Q(i) QAM_input_I(i)-20QAM_input_Q(i) -2QAM_input_I(i)QAM_input_I(i)00QAM_input_Q(i) QAM_input_I(i)-2QAM_input_Q(i)0 QAM_input_I(i)0-2QAM_input_I(i)QAM_input_Q(i)0 2QAM_input_I(i)QAM_input_Q(i)0 0QAM_input_I(i)QAM_input_I(i)2QAM_input_Q(i)0]
a=find(phase_det);
output_frame((1+(i-1)*3):(3+(i-1)*3))=remapping((1+(a-1)*3):(3+(a-1)*3));
end
case 4,
QAM_16_Demodu_IQ = [0 1 3 2]; %f(m)=(m+3)/2 + 1, so I=-3 --- 1, I=1 --- 3
idx = find(QAM_input_I3);
QAM_input_I(idx) = 3;
idx = find(QAM_input_I-3);
QAM_input_I(idx) = -3;
idx = find(QAM_input_Q3);
QAM_input_Q(idx) = 3;
idx = find(QAM_input_Q-3);
QAM_input_Q(idx) = -3;
tmp = round((QAM_input_I+3)/2) + 1;
output_frame(1:4:end) = bitget(QAM_16_Demodu_IQ(tmp),2);
output_frame(2:4:end) = bitget(QAM_16_Demodu_IQ(tmp),1);
tmp = round((QAM_input_Q+3)/2) + 1;
output_frame(3:4:end) = bitget(QAM_16_Demodu_IQ(tmp),2);
output_frame(4:4:end) = bitget(QAM_16_Demodu_IQ(tmp),1);
case 5,
remapping=[0 0 0 0 0;0 0 0 0 1;0 0 0 1 0;0 0 0 1 1;0 0 1 0 0;0 0 1 0 1;0 0 1 1 0;0 0 1 1 1;
0 1 0 0 0;0 1 0 0 1;0 1 0 1 0;0 1 0 1 1;0 1 1 0 0;0 1 1 0 1;0 1 1 1 0;0 1 1 1 1;
1 0 0 0 0;1 0 0 0 1;1 0 0 1 0;1 0 0 1 1;1 0 1 0 0;1 0 1 0 1;1 0 1 1 0;1 0 1 1 1;
1 1 0 0 0;1 1 0 0 1;1 1 0 1 0;1 1 0 1 1;1 1 1 0 0;1 1 1 0 1;1 1 1 1 0;1 1 1 1 1].';
for i=1:Q_length
phase_det=[4QAM_input_I(i)0QAM_input_Q(i)QAM_input_Q(i)2;2QAM_input_I(i)QAM_input_I(i)40QAM_input_Q(i)QAM_input_Q(i)2;0QAM_input_I(i)QAM_input_I(i)20QAM_input_Q(i)QAM_input_Q(i)2;4QAM_input_I(i)2QAM_input_Q(i)QAM_input_Q(i)4;
2QAM_input_I(i)QAM_input_I(i)42QAM_input_Q(i)QAM_input_Q(i)4;0QAM_input_I(i)QAM_input_I(i)22QAM_input_Q(i)QAM_input_Q(i)4;2QAM_input_I(i)QAM_input_I(i)44QAM_input_Q(i);0QAM_input_I(i)QAM_input_I(i)24QAM_input_Q(i);
QAM_input_I(i)-40QAM_input_Q(i)QAM_input_Q(i)2;-4QAM_input_I(i)QAM_input_I(i)-20QAM_input_Q(i)QAM_input_Q(i)2;-2QAM_input_I(i)QAM_input_I(i)00QAM_input_Q(i)QAM_input_Q(i)2;QAM_input_I(i)-42QAM_input_Q(i)QAM_input_Q(i)4;
-4QAM_input_I(i)QAM_input_I(i)-22QAM_input_Q(i)QAM_input_Q(i)4;-2QAM_input_I(i)QAM_input_I(i)02QAM_input_Q(i)QAM_input_Q(i)4;-4QAM_input_I(i)QAM_input_I(i)-24QAM_input_Q(i);-2QAM_input_I(i)QAM_input_I(i)04QAM_input_Q(i);
QAM_input_I(i)-4-2QAM_input_Q(i)QAM_input_Q(i)0;-4QAM_input_I(i)QAM_input_I(i)-2-2QAM_input_Q(i)QAM_input_Q(i)0;-2QAM_input_I(i)QAM_input_I(i)00QAM_input_Q(i)QAM_input_Q(i)0;QAM_input_I(i)-4-4QAM_input_Q(i)QAM_input_Q(i)-2;
-4QAM_input_I(i)QAM_input_I(i)-2-4QAM_input_Q(i)QAM_input_Q(i)-2;-2QAM_input_I(i)QAM_input_I(i)0-4QAM_input_Q(i)QAM_input_Q(i)-2;-4QAM_input_I(i)QAM_input_I(i)-2QAM_input_Q(i)-4;-2QAM_input_I(i)QAM_input_I(i)0QAM_input_Q(i)-4;
4QAM_input_I(i)-2QAM_input_Q(i)QAM_input_Q(i)0;2QAM_input_I(i)QAM_input_I(i)4-2QAM_input_Q(i)QAM_input_Q(i)0;0QAM_input_I(i)QAM_input_I(i)20QAM_input_Q(i)QAM_input_Q(i)0;4QAM_input_I(i)-4QAM_input_Q(i)QAM_input_Q(i)-2;
2QAM_input_I(i)QAM_input_I(i)4-4QAM_input_Q(i)QAM_input_Q(i)-2;0QAM_input_I(i)QAM_input_I(i)2-4QAM_input_Q(i)QAM_input_Q(i)-2;2QAM_input_I(i)QAM_input_I(i)4QAM_input_Q(i)-4;0QAM_input_I(i)QAM_input_I(i)2QAM_input_Q(i)-4];
a=find(phase_det);
output_frame((1+(i-1)*5):(5+(i-1)*5))=remapping((1+(a-1)*5):(5+(a-1)*5));
end %5+i 3+i 1+i 5+3*i 3+3*i 1+3*i 3+5*i 1+5*i -5+i -3+i -1+i -5+3*i -3+3*i -1+3*i -3+5*i -1+5*i -5-i -3-i -1-i -5-3*i -3-3*i -1-3*i -3-5*i -1-5*i 5-i 3-i 1-i 5-3*i 3-3*i 1-3*i 3-5*i 1-5*i
case 6,
QAM_64_Demodu_IQ = [0 1 3 2 6 7 5 4]; %f(m)=(m+7)/2 + 1, so I=-7 --- 1, I=1 --- 5
idx = find(QAM_input_I7);
QAM_input_I(idx) = 7;
idx = find(QAM_input_I-7);
QAM_input_I(idx) = -7;
idx = find(QAM_input_Q7);
QAM_input_Q(idx) = 7;
idx = find(QAM_input_Q-7);
QAM_input_Q(idx) = -7;
tmp = round((QAM_input_I+7)/2) + 1;
output_frame(1:6:end) = bitget(QAM_64_Demodu_IQ(tmp),3);
output_frame(2:6:end) = bitget(QAM_64_Demodu_IQ(tmp),2);
output_frame(3:6:end) = bitget(QAM_64_Demodu_IQ(tmp),1);
tmp = round((QAM_input_Q+7)/2) + 1;
output_frame(4:6:end) = bitget(QAM_64_Demodu_IQ(tmp),3);
output_frame(5:6:end) = bitget(QAM_64_Demodu_IQ(tmp),2);
output_frame(6:6:end) = bitget(QAM_64_Demodu_IQ(tmp),1);
end
如何用Matlab编写码率为1/2的卷积码+BPSK调制
如何用Matlab编写码率为1/2的卷积码+BPSK调制
可以根据K0和Fm算出总的时间,然后除以采样点数,就是载频的时间间隔吧,我觉得是这样的,你试试。
matlab编程实现最大似然解调 采用BPSK调制 并画出误码率曲线
您好,您这样:
clc;
clear;
fc=4800;fs=12000;fb=2400;
%要调制的数字信号
a=randint(1,12,2);%随机产生12个“0”,“1”
s=zeros(1,60);
for i=1:12
for j=1:5
if(a(i)==0)
s(j+(i-1)*5)=0;
else
s(j+(i-1)*5)=1;
end
end
end
plot(s);xlabel('基带信号');
figure
pwelch(s);%功率谱
figure
%波形成形滤波器(平方根升余弦滚降)
h=firrcos(14,1200,1200,4800,'sqrt');
figure
stem(h);xlabel('成形滤波器的单位冲击响应');
[H,W]=freqz(h,1);
H=abs(H);
figure
plot(H);xlabel('成形滤波器的频率响应');
s=fftfilt(h,s);
figure
plot(s);xlabel('通过成形滤波器后的基带信号');
figure
pwelch(s);%经波形成形滤波器后的功率谱
%已调信号
e=dmod(a,4800,2400,12000,'psk',2);%调制
figure
plot(e);xlabel('已调信号');
enoise=e+randn(1,60);%enoise=e+.1*randn(1,60)不同功率的高斯白噪声
aa=ddemod(enoise,4800,2400,12000,'psk',2);%解调
figure
stem(aa);xlabel('解调后的数字信号');%解调后的数字信号
p=symerr(a,aa)/12 %误码率
%误码率曲线
figure
r=-6:3:12;
rr=10.^(r/10);
pe1=1/2*exp(-rr);%相干解调的误码率曲线
hold on
plot(r,pe1,'r');grid on;
pe2=(1-1/2*erfc(sqrt(rr))).*erfc(sqrt(rr));%差分相干解调的误码率曲线
plot(r,pe2,'b');xlabel('bpsk,dpsk误码率曲线');
set(gca,'XTick',-6:3:18);
求matlab高手解答
很明显是你这句r = u + sgma .* randn(size(u));的u与sgma .* randn(size(u)),或者sgma .* randn(size(u))没法计算,
由于不知道你的GSMconv_EN(s);函数式什么,不知道u的行数与列数,这里关键是你要给的输入让sgma与u的行列恰当。
要求r = u + sgma .* randn(size(u));这句要求sgma的行列与u的行列一样。你好好检查下,应该可以查出来的。
希望对你有帮组
用MATLAB求BPSK、BFSK、BASK的解调和调制程序
【PDF】通信原理matlab
文件格式:PDF/Adobe Acrobat - HTML版
-基于Matlab仿真计算 曾峰 zf0579@sina.com You can ...3.1.1 BASK 本节主要讨论幅度调制技术,从最简单的二...0.999; %Frequency Offset df = 10; %Source BFSK...比特数.当M等于2,这时PSK通常被称为二进制相移键控(BPSK...
百度搜下。
随机产生100个数字信号.对其进行bpsk调制 其载波频率为100hz 试用matlab画出 急求
FSK是在数字信号调制中使用较典型的一种调制方式,其利用载波的频率变化来传递中二进制数据用伪随机序列PNSeq仿真1对应100 Hz 正弦波. 幅度A 均为
bpsk调制matlab代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于bp算法matlab代码、bpsk调制matlab代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-04菜单滑动代码(开始菜单自动滚动)[20240504更新]
- 05-04好看登录界面代码(好看的登陆界面)[20240504更新]
- 05-04html上下箭头代码(html下拉箭头符号)[20240504更新]
- 05-04点击切换图片代码滚动(图片左右滚动代码)[20240504更新]
- 05-04易语言代码格式(易语言编码转换)[20240504更新]
- 05-04c语言连连看开源代码(python连连看源代码)[20240504更新]
- 05-04七夕html代码(七夕网页源码)[20240504更新]
- 05-04html合同模板代码(开发合同模版)[20240504更新]
- 05-04盖章代码(盖章代码是什么东西)[20240504更新]
- 05-04sql超市商品信息视图代码的简单介绍[20240504更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
-
- 网络营销策划公司,网络营销策划公司的发展目标与方向有哪些内容
- 易语言代码格式(易语言编码转换)[20240504更新]
- c语言连连看开源代码(python连连看源代码)[20240504更新]
- 七夕html代码(七夕网页源码)[20240504更新]
- html合同模板代码(开发合同模版)[20240504更新]
- 盖章代码(盖章代码是什么东西)[20240504更新]
- java简易计算器源代码(简易计算器编程java)[20240504更新]
- 网页代码下载html(网页代码下载音乐)[20240504更新]
- 飞秋文件传输源代码(飞秋怎么传输文件)[20240504更新]
- sql超市商品信息视图代码的简单介绍[20240504更新]
- 友情链接