qpsk调制matlab代码的简单介绍
admin 发布:2022-12-19 20:09 145
本篇文章给大家谈谈qpsk调制matlab代码,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
怎么用matlab实现下变频到复基带
clear all;
close all;
clc;
biteSize = 1000;
rowBit = round(rand(1,biteSize));
%QPSK调制,每2比特对应一个符号
signalLength = biteSize/2;
IQBit = reshape(rowBit,2,signalLength);
%QPSK调制:映射符号:11 10 01 00
map = [1+1*1i; %11
1-1*1i; %10
-1+1*1i; %01
-1*-1*1i]; %00
signal = zeros(1,signalLength);
for i = 1:signalLength
if IQBit(1,i)==1 IQBit(2,i)==1
signal(i) = map(1);
elseif IQBit(1,i)==1 IQBit(2,i)==0
signal(i) = map(2);
elseif IQBit(1,i)==0 IQBit(2,i)==1
signal(i) = map(3);
elseif IQBit(1,i)==0 IQBit(2,i)==0
signal(i) = map(4);
end
end
%上变频
%经历无线信道,这里假设没有衰落
rcvSignal = signal;
%下变频
%QPSK解调
rcvIQBit = zeros(2,signalLength);
for i = 1:signalLength
min = Inf;
minIndex = 0;
for j = 1:4
diff = abs(rcvSignal(i) - map(j));
if (diff min)
min = diff;
minIndex = j;
end
end
if minIndex == 1
rcvIQBit(1,i) = 1;
rcvIQBit(2,i) = 1;
elseif minIndex == 2
rcvIQBit(1,i) = 1;
rcvIQBit(2,i) = 0;
elseif minIndex == 3
rcvIQBit(1,i) = 0;
rcvIQBit(2,i) = 1;
elseif minIndex == 4
rcvIQBit(1,i) = 0;
rcvIQBit(2,i) = 0;
end
end
rcvRowBit = reshape(rcvIQBit,1,biteSize);
error = sum(abs(rcvRowBit - rowBit));
matlab生成一个QPSK信号
y(1)和y(2)是分离出来的实部和虚部信号
QPSK信号的包络就是y(1)和y(2)的模
求出这个QPSK信号包络的均值和方差
均值应该是信号的能量,也就是1
方差可以通过计算加噪后的能量,然后减去信号的能量得到
a=1/sqrt(2);
b=-1/sqrt(2);
ser=zeros(1,11);
power = 0;
for i=1:1
error=0;
for j=1:10000
n=10^(log10(0.5)-(i/10));
u=rand;
z=(sqrt(n/2))*(sqrt(2*log(1/(1-u))));
u=rand;
gsrv1=z*cos(2*pi*u);
gsrv2=z*sin(2*pi*u);
s=fix(rand(1,2)*2);
if s(1)==0
s(1)=a;
elseif s(1)==1
s(1)=b;
end
if s(2)==0
s(2)=a;
elseif s(2)==1
s(2)=b;
end
y(1)=s(1)+gsrv1;
y(2)=s(2)+gsrv2;
power = power + y(1)^2+y(2)^2;
end
end
variance = (power-10000)/10000;
如果统计的量越大,越精确
Matlab QPSK基带仿真问题求助
下面是一路信号的QPSK基带仿真的程序:
n=1e4;
M=4;
Tx=randint(n,1,M);
h=modem.pskmod(M); %产生调制QPSK句柄
y=modulate(h,Tx); %用QPSK句柄调制Tx信号
EbNo=10;
yNoise=awgn(y,EbNo,'measured'); %加噪声
g=modem.pskdemod(M); %产生解调句柄
Rx=demodulate(g,yNoise); %解调信号
num_biterr=biterr(Tx,Rx); %计算错误的比特数
Pb=num_err/n; %计算错误的比特概率
qpsk调制matlab代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、qpsk调制matlab代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-03网页切换图片代码(网页图片切换怎么做)[20240503更新]
- 05-03jquery网站代码(jquery操作html代码)[20240503更新]
- 05-03matlab代码自动排版(matlab自动排版快捷键)[20240503更新]
- 05-03点击图片翻页代码(图片自动翻页)[20240503更新]
- 05-03matlab锐化代码(matlab自己编写锐化函数)[20240503更新]
- 05-03输入日期显示是否的代码(显示当前时间和日期的代码)[20240503更新]
- 05-03移动省份代码(移动归属省代码)[20240503更新]
- 05-03图书管理系统的图书添加php代码(图书管理系统的图书添加php代码)[20240503更新]
- 05-03上下浮动图片代码(向上浮动代码)[20240503更新]
- 05-03排行js代码(js百大榜单)[20240503更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接