基于MATLAB调制解调仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理实验八
调制解调系统的实现
一、实验目的:
(1)深刻理解滤波器的设计指标及根据指标进行数字滤波器设计的过程(2)了解滤波器在通信系统中的应用
二、实验步骤:
1.通过SYSTEMVIEW软件设计与仿真工具,设计一个FIR数字带通滤波器,预先给定截止频率和在截止频率上的幅度值,通过软件设计完后,确认滤波器的阶数和系统函数,画出该滤波器的频率响应曲线,进行技术指标的验证。
通过仿真验证,原理图如下:
输入方波与锯齿波,都为10HZ,载波100hz与300hz正弦波,仿真的结果如下:
还是可以比较好的恢复信号。
建立一个两载波幅度调制与解调的通信系统,将该滤波器作为两个载波分别解调的关键部件,验证其带通的频率特性的有效性。
系统框图如下:
sin ω2sin ω2规划整个系统,确定系统的采样频率、观测时间、细化并设计整个系统,仿真调整并不断改进达到正确调制、正确滤波、正确解调的目的。
(参考文件
zhan3.svu )设计的思路是:基带信号乘上一个高频信号,称为调制,实现频谱搬移,与另一调制信号叠加,再分别通过以W 为中心频率的带通FIR 数字滤波器,再基带信号
乘以原来的高频信号,实现再频谱搬移,最后通过IIR低通滤波器得到解调信号。
本实验是通过编程的方式完成的。
1、首先,产生信号:
n=1;
f1=100;
f2=300;
fs=1000;%采样频率
t=0:1/fs:n;
fre=10;
y1=square(2*fre*pi*t)/2+1.1;
y2=sawtooth(fre*2*pi*t)/2+1.1;
观察图形与频谱:
2、基带信号乘以一个高频载波:yy1=y1.*z1;
yy2=y2.*z2;
观察频谱:
3、两调制信号相加:yy3=yy1+yy2;
4、设计带通滤波器:设计100-200,330-430hz的FIR数字滤波器,用汉明窗实现。
fp1=100;fp2=200;%FIR滤波器100-200hz
fs1=50;fs2=250;
As=15;
Ws1=(fp1+fs1)/fs;
Ws2=(fp2+fs2)/fs;
w=(fp1-fs1)/fs;
M=ceil((As-7.95)/(14.36*w));
hamming=Hamming(M+1);
b=fir1(M,[Ws1,Ws2],hamming);
%figure(2);
%freqz(b,1,fs,fs);
t=0:1/fs:n;
yyy1=filter(b,2,yy3);
zz1=filter(b,2,z1);
fp1=330;fp2=430;%FIR滤波器330-430hz
fs1=200;fs2=490;
As=15;
Ws1=(fp1+fs1)/fs;
Ws2=(fp2+fs2)/fs;
w=(fp1-fs1)/fs;
M=ceil((As-7.95)/(14.36*w));
hamming=Hamming(M+1);
b=fir1(M,[Ws1,Ws2],hamming);
%figure(4);
%freqz(b,1,fs,fs);
t=0:1/fs:n;
yyy2=filter(b,2,yy3);
zz2=filter(b,2,z2);
5、滤波后的信号再乘载波信号:
k1=yyy1.*zz1;
k2=yyy2.*zz2;
6、设计低通滤波器为100hz的巴特沃斯低通滤波器。
N=8;%8阶巴特沃斯低通滤波器上限频率100hz
Wn=100/(fs/2);
[b,a] = butter(N,Wn,'low');
kk1=filter(b,a,k1);
%figure(5);
%[H,W]=freqz(b,a); %返回频率响应
%subplot(1,2,1);plot(W*fs/(2*pi),abs(H)); xlabel('频率HZ'); ylabel('幅值');grid on;
%subplot(1,2,2);plot(W*fs/(2*pi),20*log10(abs(H))); xlabel('频率HZ');ylabel('幅值dB');grid on;
7、调制信号经过低通滤波器后的到的信号就是解调信号。
8、观察调制信号的频谱:
结论与体会:调制解调实际就是频谱的搬移,达到高频传播,本次实验的关键就是滤波器的设计,滤波器设计不好解调不了波形导致失真,通过写代码使我的编程能力加强了,学会了移植代码,matlab是个很不错的仿真软件。
附录:
n=1;
f1=100;
f2=300;
fs=1000;%采样频率
t=0:1/fs:n;
fre=10;
y1=square(2*fre*pi*t)/2+1.1;
dt=1/fs; %定义时间步长。
n1=length(t); %样点个数
%y1=cos(2*pi*fre*t); %余弦信号
f_end=1/dt; %频率轴的显示范围
f=(0:n1-1)*f_end/n1-f_end/2; %频率自变量
Xf=dt*fftshift(fft(y1)); %频谱
figure(1);
subplot(211);plot(t,y1);xlabel('t');title('时间波形');%时间波形
subplot(212);plot(f,abs(Xf));xlabel('f');title('方波幅度频谱');%频谱波形
y2=sawtooth(fre*2*pi*t)/2+1.1;
Xf1=dt*fftshift(fft(y2)); %频谱
figure(2);
subplot(211);plot(t,y2);xlabel('t');title('时间波形');%时间波形
subplot(212);plot(f,abs(Xf1));xlabel('f');title('三角波幅度频谱');%频谱波形
z1=10*sin(2*pi*f1*t);
z2=10*sin(2*pi*f2*t);
yy1=y1.*z1;
yy2=y2.*z2;
yy3=yy1+yy2;
Xf=dt*fftshift(fft(yy1)); %频谱
figure(3);
subplot(211);plot(t,yy1);xlabel('t');title('时间波形');%时
间波形
subplot(212);plot(f,abs(Xf));xlabel('f');title('调制信号频谱');%频谱波形
Xf=dt*fftshift(fft(yy2)); %频谱
figure(7);
subplot(211);plot(t,yy2);xlabel('t');title('时间波形');%时间波形
subplot(212);plot(f,abs(Xf));xlabel('f');title('调制信号频谱');%频谱波形
fp1=100;fp2=200;%FIR滤波器100-200hz
fs1=50;fs2=250;
As=15;
Ws1=(fp1+fs1)/fs;
Ws2=(fp2+fs2)/fs;
w=(fp1-fs1)/fs;
M=ceil((As-7.95)/(14.36*w));
hamming=Hamming(M+1);
b=fir1(M,[Ws1,Ws2],hamming);
%figure(2);
%freqz(b,1,fs,fs);
t=0:1/fs:n;
yyy1=filter(b,2,yy3);
zz1=filter(b,2,z1);
fp1=330;fp2=430;%FIR滤波器330-430hz
fs1=200;fs2=490;
As=15;
Ws1=(fp1+fs1)/fs;
Ws2=(fp2+fs2)/fs;
w=(fp1-fs1)/fs;
M=ceil((As-7.95)/(14.36*w));
hamming=Hamming(M+1);
b=fir1(M,[Ws1,Ws2],hamming);
%figure(4);
%freqz(b,1,fs,fs);
t=0:1/fs:n;
yyy2=filter(b,2,yy3);
zz2=filter(b,2,z2);
k1=yyy1.*zz1;
k2=yyy2.*zz2;
N=8;%8阶巴特沃斯低通滤波器上限频率100hz
Wn=100/(fs/2);
[b,a] = butter(N,Wn,'low');
kk1=filter(b,a,k1);
figure(10);
[H,W]=freqz(b,a); %返回频率响应
subplot(1,2,1);plot(W*fs/(2*pi),abs(H)); xlabel('频率HZ'); ylabel('幅值');grid on;
subplot(1,2,2);plot(W*fs/(2*pi),20*log10(abs(H)));
xlabel('频率HZ');ylabel('幅值dB');grid on;
figure(4);
subplot(211);
plot(t,kk1);
grid on;
title('解调信号kk1');
kk2=filter(b,a,k2);
subplot(212);
plot(t,kk2);
grid on;
title('解调信号kk2');
Xf2=dt*fftshift(fft(kk1)); %频谱
figure(5);
subplot(211);plot(t,kk1);xlabel('t');title('时间波形');%时
间波形
subplot(212);plot(f,abs(Xf2));xlabel('f');title('解调方波幅度频谱');%频谱波形
Xf3=dt*fftshift(fft(kk2)); %频谱
figure(6);
subplot(211);plot(t,kk2);xlabel('t');title('时间波形');%时
间波形
subplot(212);plot(f,abs(Xf3));xlabel('f');title('解调三角波幅度频谱');%频谱波形。