资源简介
通信原理课程中的2fsk的调制和解调,用matlab实现其过程!
代码片段和文件信息
clear
n=8;%随机码元个数
N=100;%模拟一个码元的点数
K=4;%figure1画四个小图
a=randint(1n);%码元生成
bita=[];%定义空数组,存放基带信号
for i=1:length(a)
if a(i)==0
bit1=zeros(1N);
else
bit1=ones(1N);
end
bita=[bitabit1];%基带信号
end
figure(1);
subplot(411);
plot(bita‘LineWidth‘1.5);
axis([0N*length(a)-22]);
title(‘基带信号‘);
grid on;
bitRate=1e3;%每一个码元中采样点的间隔宽度0.001s
fc=1e3;%载频1KHZ
t=linspace(01/bitRateN);
tz=[];
c1=sin(2*pi*t*fc);%载波
c2=sin(2*pi*t*fc*2);%载波
for i=1:length(a)
if a(i)==1
tz=[tzc1];
else
tz=[tzc2];
end
end
subplot(412);
plot(tz‘LineWidth‘1.5);
title(‘2FSK已调信号‘);
grid on;
signal=awgn(tz.2‘measured‘);%加噪
subplot(413);
plot(signal‘LineWidth‘1.5);
grid on;
title(‘信号+噪声‘);
Fs=5e3;%采样频率
[b1a1]=ellip(40.140[999.91000.1]*2/Fs);%设计IIR带通滤波器,阶数为4,通带纹波0.1,阻带衰减40DB
[b2a2]=ellip(40.140[1999.92000.1]*2/Fs);
sa=filter(b1a1signal);%信号通过该滤波器
sb=filter(b2a2signal);
figure(2);
sia=[];
sib=[];
for i=1:n
sia=[sia
评论
共有 条评论