资源简介
FSK调制解调程序程序,原创程序,呢能帮到大家,谢谢,
代码片段和文件信息
clear all;
close all;
n=8;%随机码元个数
N=100;%模拟一个码元的点数
K=3;%figure1画三个小图
a=round(rand(1n));%码元生成
bita=[];%定义空数组,存放基带信号
for i=1:length(a)
if a(i)==0
bit1=zeros(1N);
else
bit1=ones(1N);
end
end
figure(1);
bitRate=1000;%每一个码元中采样点的间隔宽度0.001s
fc=1000;%载频1KHZ
t=linspace(01/bitRateN);
sign=[];
c1=sin(2*pi*t*fc);%载波
c2=sin(2*pi*t*fc*2);%载波
for i=1:length(a)
if a(i)==1
sign=[signc1];
else
sign=[signc2];
end
end
subplot(K11);plot(sign‘LineWidth‘1.5);title(‘2FSK已调信号‘);grid on;
signal=awgn(sign20‘measured‘);%加噪
subplot(K12);plot(signal‘LineWidth‘1.5)grid on;title(‘信号混叠噪声‘);
pinpu=spectrum(sign);
subplot(K13);plot(pinpu‘LineWidth‘1.5)grid on;title(‘频谱图‘);
h=waitbar(0‘请等待‘);%创建进度条
rs=1000;%时间轴频率步进
fc=100;%载波频率100HZ
tzd=100;
j=0;%进度条计数
N=10;%设置循环次数
t=0:1/rs:(tzd-1/rs);
for snrb=0:1:10 %不同信噪比
ratio=0;%初始误码数设为0,累计十次得到总误码数
for k=1:N %N次循环每次循环产生1000个码元
n=1000;%一次产生码元数
g=round(rand(1n));%产生1000个码元
tz1=g(ceil(10*t+(1/rs))).*cos(2*pi*fc*t);%载]波频率为100HZ
tz2=~g(ceil(10*t+(1/rs))).*cos(2*pi*2*fc*t);%载波频率为200HZ
tz=tz1+tz2;%得到调制信号tz,100个点表示1个码元
waitbar(j/(10*N));
signal=awgn(tzsnrb);
%======解调过程==========%
- 上一篇:d-s证据理论程序
- 下一篇:传递矩阵法matlab程序
评论
共有 条评论