基于MATLAB的模拟信号频率调制(FM)与解调分析
基于matlab的-AM-FM调制与解调报告

基于matlab的-AM-FM调制与解调报告AM调制与解调100%% AMµ÷ÖÆfigure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')a0=1;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×');fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 1050126信息信号频谱11.0005 1.001-101载波信号-505x 1050126载波信号频谱11.00051.001-202已调信号-55x 105012x 106已调信号频谱2.52.50052.501-4-2024添加噪声后信号波形-505x 105051015x 105添加噪声后信号频谱2.52.50052.501-2024带通滤波后信号波形-55x 10500.511.526带通滤波后信号频谱50%% AMµ÷ÖÆ2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-1012相乘信号-5-4-3-2-1012345x 1050510155相乘信号频谱2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.501-0.500.51解调信号-5-4-3-2-1012345x 1050510155解调信号频谱figure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')a0=2;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×'); fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 1050126信息信号频谱11.0005 1.001-101载波信号-505x 1050126载波信号频谱11.00051.001-505已调信号-55x 105024x 106已调信号频谱2.52.50052.501-505添加噪声后信号波形-505x 1050123x 106添加噪声后信号频谱2.52.50052.501-4-2024带通滤波后信号波形-55x 105012346带通滤波后信号频谱0%% AMµ÷ÖÆ2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-10123相乘信号-5-4-3-2-1012345x 10501236相乘信号频谱2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.50100.511.5解调信号-5-4-3-2-1012345x 10501236解调信号频谱figure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')a0=10^100;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×'); fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 1050126信息信号频谱1 1.0005 1.001-101载波信号-505x 1050126载波信号频谱11.00051.001-101x 10100已调信号-55x 105012x 10106已调信号频谱2.52.5005 2.501-1-0.500.51x 10100添加噪声后信号波形-505x 105051015x 10105添加噪声后信号频谱2.52.5005 2.501-2-1012100带通滤波后信号波形-55x 10501106带通滤波后信号频谱FM 调制与解调%%FMfigure('Name','FMµ÷ÖƲ¨ÐÎÓëƵÆ×')2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-50510x 1099相乘信号-5-4-3-2-1012345x 105051015105相乘信号频谱2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.5013.93.913.923.93x 1099解调信号-1-0.500.51x 105123105解调信号频谱f0=2000; fc=20000; fs=1000000; Am=1; kf=0.5; Tc=8; Ta=0.001; dt=0.000001;t=[0:1/fs:3];f=(0:length(t)-1)*fs/(length(t))-fs/2;fm0=cos(2*pi*f0*t);mt=fm0;%»ý·ÖÆ÷Éè¼Æw1=0;w2=0;for m=1:length(t)w1=mt(m)+w2;w2=mt(m)+w1;fi(m)=w1/(2*fs);endfi=fi*2*pi/max(abs(fi));I=cos(kf*fi);Q=sin(kf*fi);y1=Am*cos(2*pi*fc*t).*I-Am*sin(2*pi*fc*t).*Q;subplot(2,1,1);plot(t,y1);title('²¨ÐÎ')axis([1e-3 4e-3 -2 2]);Y1=fft(y1);subplot(2,1,2);plot(f,fftshift(abs(Y1))/1e6); title('ƵÆ×') %%Ôز¨ÆµÆ×axis([-4e4 4e4 0 1]);figure('Name','FMµ÷Öƺó¼ÓÔëÉù²¨ÐÎÓë½âµ÷ºó²¨ÐÎÒÔ¼°Â˳ýÖ±Á÷·ÖÁ¿ºóµÄ²¨ÐÎ')y1o=awgn(y1,40);subplot(3,1,1);plot(t,y1o); title('¼ÓÔëÉùºó²¨ÐÎ') %%¼ÓÔëÉùºóµÄÐźÅaxis([1e-3 4e-3 -2 2]);%%´øͨÂ˲¨KSband=2*(3+1)*f0;fcutsb=[fc-KSband-2000 fc-KSband fc+KSbandfc+KSband+2000]; %%½ÓÊÕ»úÇ°¶Ë´øͨÂ˲¨magsb=[0 1 0];devsb=[0.05 0.01 0.05];[nb,Wnb,betab,ftypeb]=kaiserord(fcutsb,magsb,devsb,fs);hhb=fir1(nb,Wnb,ftypeb,kaiser(nb+1,betab),'noscale'); %´øͨÂ˲¨Æ÷£»st_pb=fftfilt(hhb,y1o);subplot(3,1,2);st_pb=st_pb/1e6;plot(t,st_pb); title('´øͨÂ˲¨Æ÷ºóµÄ²¨ÐÎ')axis([1e-3 4e-3 -2e-6 2e-6]);%΢·ÖÆ÷Éè¼Æfor i=1:length(t)-1 %½ÓÊÕÐźÅͨ¹ý΢·ÖÆ÷´¦Àídiff_st_pb(i)=(st_pb(i+1)-st_pb(i))/dt;endsfm=abs(hilbert(diff_st_pb));subplot(3,1,2);plot(t,[sfm*20 0]);axis([1e-3 4e-3 0 4]);%%¸ôÖ±% KSbandh=2*(3+1)*f0;fcutsh=[0.01 3000];magsh=[0 1];devsh=[0.01 0.05];[nh,Wnh,betah,ftypeh]=kaiserord(fcutsh,magsh,devsh,fs);hhh=fir1(nh,Wnh,ftypeh,kaiser(nh+1,betah),'noscale');sfm_out=fftfilt(hhh,sfm*20);subplot(3,1,3);plot(t,[sfm_out 0]);title('¸ôÖ±ºóµÄ²¨ÐÎ')axis([1e-3 4e-3 -2 2]);11.522.533.54x 10-3-2-1012波形-4-3-2-101234x 10400.51频谱11.522.533.54x 10-3-202加噪声后波形11.522.53 3.54x 10-302411.522.533.54x 10-3-202隔直后的波形。
基于MATLAB的频率调制与解调.doc

郑州轻工业学院课程设计说明书题目:利用MATLAB实现信号的频率调制与解调姓名:宋蒙院(系):电气信息工程学院专业班级:电子信息工程专业学号:541101030233指导教师:赵红梅成绩:时间:2014年 6 月9 日至2014年 6 月13 日郑州轻工业学院 课 程 设 计 任 务 书题目 利用MATLAB 实现信号的频率调制与解调专业、班级 电子信息工程11级 2班 学号 33 姓名 宋蒙 主要内容、基本要求、主要参考资料等:主要内容:利用MATLAB 对信号 ()()⎪⎩⎪⎨⎧≤=其他 ,0t ,10002t t Sa t m进行频率调制,载波信号频率为1000Hz ,频偏常数s t K f 2.0,500==。
首先在MATLAB 中显示调制信号的波形和频谱,已调信号的波形和频谱,比较信号调制前后的变化。
然后对已调信号解调,并比较解调后的信号与原信号的区别。
基本要求:1、掌握利用MATLAB 实现信号频率调制与解调的方法。
2、学习MATLAB 中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示。
3、加深理解调制信号的变化;验证信号调制的基本概念、基本理论,掌握信号与系统的分析方法。
主要参考资料:1、王秉钧等. 通信原理[M].北京:清华大学出版社,2006.112、陈怀琛.数字信号处理教程----MATLAB 释义与实现[M].北京:电子工业出版社,2004.完 成 期 限: 2014.6.9—2014.6.13 指导教师签名: 课程负责人签名:2014年 6月 13日利用MATLAB实现信号的频率调制与解调电子信息工程 11级 2班指导老师:赵红梅摘要:FM属于角度调制,角度调制与线性调制不同,已调信号频谱不再是原调制信号频谱的线性搬移,而是频谱的非线性变换,会产生与频谱搬移不同的新的频率成分,故又称为非线性调制。
FM调制又称为频率调制,与幅度调制相比,角度调制的最突出的优势在于其较高的抗噪声性能,但获得这种优势的代价是角度调制占用比幅度调制信号更宽的带宽。
基于MATLAB的模拟信号频率调制与解调分析

基于MATLAB的模拟信号频率调制与解调分析信号频率调制(FM)是一种将信息信号调制到载频波形上以便在传输过程中保持信号质量的技术。
本文将基于MATLAB对信号频率调制与解调进行分析与模拟。
首先,我们需要生成一个调制信号。
以正弦信号为例,通过改变该信号的频率来模拟调制信号。
我们可以使用MATLAB的信号处理工具箱中的`fmmod(`函数来实现这一点。
以下是一个示例代码:```matlabt = 0:1/fs:1; % 时间向量fc = 2000; % 载频频率fm = 100; % 调制信号频率m = sin(2*pi*fm*t); % 调制信号modulatedSignal = fmmod(m, fc, fs); % 使用fmmod进行调频调制subplot(2,1,1);plot(t, m);title('调制信号');xlabel('时间');ylabel('振幅');subplot(2,1,2);title('调制后信号');xlabel('时间');ylabel('振幅');```上述代码中,我们定义了采样频率、时间向量、载频频率和调制信号频率,并生成了调制信号。
然后,我们使用`fmmod(`函数将调制信号调制到载频波形上。
最后,我们用两个子图分别显示调制信号和调制后信号。
接下来,我们将对调制后的信号进行解调以还原原始信号。
我们可以使用MATLAB的信号处理工具箱中的`fmdemod(`函数。
以下是一个示例代码:```matlabdemodulatedSignal = fmdemod(modulatedSignal, fc, fs); % 使用fmdemod进行解调subplot(2,1,1);plot(t, modulatedSignal);title('调制后信号');xlabel('时间');ylabel('振幅');subplot(2,1,2);title('解调后信号');xlabel('时间');ylabel('振幅');```上述代码中,我们使用`fmdemod(`函数对调制后的信号进行解调。
matlab FM调制与解调

电子与通信工程学院通信系统仿真实验报告2013 ~ 2014 学年第1学期调频(FM)系统调制解调仿真专业:通信工程班级:学号:姓名:指导教师姓名:年月日调频(FM)系统调制解调仿真一、实验原理;【调制】调制在通信系统中具有十分重要的作用。
一方面,通过调制可以把基带的频谱搬移到所希望的位置上去,从而将调制信号转换成适合于信道传输或者便于信道多路复用的已调信号。
另一方面,通过调制可以提高信号通过信道传输的抗干扰能力,同时,它还和传输效率有关。
不同的调制方式产生的已调信号的宽带不同,因此调制影响传输带宽的利用率。
在本仿真过程中我们选用调频调制的方法进行调制。
【解调】调制信号的解调分为相干解调和非相干解调两种。
相干解调级同步解调。
仅适用于窄带调频信号,且需同步信号,故范围受限。
而非相干解调不需要同步信号,且对于NBFM信号和WBFM信号均适用。
因此是FM系统的主要解调方式。
但在本仿真过程中是对窄带信号进行调制与解调,选择用同步的解调方法进行解调。
二、仿真模型图;【调制】系统模型与AM调制的基本相同,不过需要把AM模型中的DSB AM Modulator Passband模块换成相应的FM Modulator Passband。
并且计算消息信号的功率方式也不相同,其他设置(包括仿真参数)保持不变。
FM调制信号功率和信息信号功率由Display和Display2显示出来。
根据FM调制的原理,使用Sine Wave产生调制信号,用频率250,频偏50HZ,在FM Modulatord进行调制,设置载波参数,在Smulink文件中调用相关模块,连线后对信号进行调制产生FM调制信号。
【解调】利用FM Demodulator Passband对调制信号进行解调。
根据解调的原理,在Smulink中调用相应的模块,连接各个模块,设置各个模块的参数,并用显示仿真波形。
三、结果分析;【FM调制】实验效果截图原信号波形已调信号第一幅图function block paraneters对应设置调频器灵敏度kf fc,w,其下两幅图依次为Display输出的FM调制信号功率以及Display2输出的FM信息信号功率。
MATLAB中的信号调制与解调技巧

MATLAB中的信号调制与解调技巧随着科技的不断发展,无线通信越来越成为人们生活中不可或缺的一部分。
在无线通信系统中,信号调制与解调技巧起到至关重要的作用。
而MATLAB作为一种强大的工具,能够帮助工程师们在信号调制与解调方面进行深入研究和实践。
一、信号调制的基本原理与方法信号调制是将原始信号(baseband signal)通过改变某些参数来转换为调制信号(modulated signal)。
常见的信号调制方法包括幅度调制(AM)、频率调制(FM)和相位调制(PM)。
1.1 幅度调制幅度调制是一种通过改变信号的振幅来调制信号的方法。
MATLAB提供了丰富的函数和工具箱,可以方便地进行幅度调制的模拟和分析。
例如,我们可以使用MATLAB中的ammod函数来模拟幅度调制过程。
首先,我们需要准备一个原始信号,可以是一个正弦波或任何其他波形。
然后,通过设置调制指数(modulation index)来改变振幅。
最后,使用ammod函数对原始信号进行调制,生成调制后的信号。
1.2 频率调制频率调制是一种通过改变信号的频率来实现调制的方法。
以调幅电台为例,电台信号的频率会随着音频信号的变化而改变。
在MATLAB中,我们可以利用fmmod函数来模拟频率调制过程。
类似于幅度调制,我们需要先准备一个原始信号。
然后,通过设置调制指数和载波频率来改变频率。
最后,使用fmmod函数对原始信号进行调制,生成调制后的信号。
1.3 相位调制相位调制是一种通过改变信号的相位来实现调制的方法。
在数字通信系统中,相位调制常用于传输和提取数字信息。
MATLAB中的pmmod函数可以方便地实现相位调制。
与前两种调制方法类似,我们需要先准备一个原始信号。
然后,设置调制指数和载波频率来改变相位。
最后,使用pmmod函数对原始信号进行调制,生成调制后的信号。
二、信号解调的基本原理与方法信号解调是将调制信号恢复为原始信号的过程。
解调方法通常与调制方法相对应,常见的解调方法包括幅度解调(AM)、频率解调(FM)和相位解调(PM)。
基于Matlab的模拟调制与解调实验报告

基于Matlab的模拟调制与解调(开放实验)一、实验目的(一)了解AM、DSB和SSB 三种模拟调制与解调的基本原理(二)掌握使用Matlab进行AM调制解调的方法1、学会运用MATLAB对基带信号进行AM调制2、学会运用MATLAB对AM调制信号进行相干解调3、学会运用MATLAB对AM调制信号进行非相干解调(包络检波)(三)掌握使用Matlab进行DSB调制解调的方法1、学会运用MATLAB对基带信号进行DSB调制2、学会运用MATLAB对DSB调制信号进行相干解调(四)掌握使用Matlab进行SSB调制解调的方法1、学会运用MATLAB对基带信号进行上边带和下边带调制2、学会运用MATLAB对SSB调制信号进行相干解调二、实验环境MatlabR2020a三、实验原理(一)滤波法幅度调制(线性调制)(二)常规调幅(AM)1、AM表达式2、AM波形和频谱3、调幅系数m(三)抑制载波双边带调制(DSB-SC)1、DSB表达式2、DSB波形和频谱(四)单边带调制(SSB)(五)相关解调与包络检波四、实验过程(一)熟悉相关内容原理 (二)完成作业已知基带信号()()()sin 10sin 30m t t t ππ=+,载波为()()cos 2000c t t π= 1、对该基带信号进行AM 调制解调(1)写出AM 信号表达式,编写Matlab 代码实现对基带进行进行AM 调制,并分别作出3种调幅系数(1,1,1m m m >=<)下的AM 信号的时域波形和幅度频谱图。
代码 基带信号fs = 10000; % 采样频率 Ts = 1/fs; % 采样时间间隔t = 0:Ts:1-Ts; % 时间向量m = sin(10*pi*t) + sin(30*pi*t); % 基带信号载波信号fc = 1000; % 载波频率c = cos(2*pi*fc*t); % 载波信号AM调制Ka = [1, 0.5, 2]; % 调制系数m_AM = zeros(length(Ka), length(t)); % 存储AM调制信号相干解调信号r = zeros(length(Ka), length(t));绘制AM调制信号的时域波形和幅度频谱图figure;for i = 1:length(Ka)m_AM(i, :) = (1 + Ka(i)*m).*c; % AM调制信号subplot(3, 2, i);plot(t, m_AM(i, :));title(['AM调制信号(Ka = ' num2str(Ka(i)) ')']);xlabel('时间');ylabel('幅度');ylim([-2, 2]);subplot(3, 2, i+3);f = (-fs/2):fs/length(m_AM(i, :)):(fs/2)-fs/length(m_AM(i, :));M_AM = fftshift(abs(fft(m_AM(i, :))));plot(f, M_AM);title(['AM调制信号的幅度频谱图(Ka = ' num2str(Ka(i)) ')']);xlabel('频率');ylabel('幅度');r(i, :) = m_AM(i, :) .* c; % 相干解调信号end绘制相干解调信号的时域波形和幅度频谱图figure;for i = 1:length(Ka)subplot(length(Ka), 1, i);plot(t, r(i, :));title(['相干解调信号(Ka = ' num2str(Ka(i)) ')']);xlabel('时间');ylabel('幅度');end图像(2)编写Matlab代码实现对AM调制信号的相干解调,并作出图形。
基于MATLAB的FM频率调制

MATLAB实现FM调制摘要:FM属于角度调制,角度调制与线性调制不同,已调信号频谱不再是原调制信号频谱的线性搬移,而是频谱的非线性变换,会产生与频谱搬移不同的新的频率成分,故又称为非线性调制。
FM调制又称为频率调制,与幅度调制相比,角度调制的最突出的优势在于其较高的抗噪声性能,但获得这种优势的代价是角度调制占用比幅度调制信号更宽的带宽。
调制在通信系统中有十分重要的作用,通过调制不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于传播的已调信号,而且它对系统的传输有效性和传输的可靠性有着很大的影响,调制方式往往决定了一个通信系统的性能。
本课程设计主要基于MATLAB集成环境编写程序实现FM 调制与解调过程,并分别绘制出调制信号、已调信号和解调信号的时域及频域波形。
1FM 调制被调信号()0sin 100()0else⎧≤⎪=⎨⎪⎩c t t t m t00.1t =,载波()()cos 2c c t ft π=,其中250c f Hz =,偏移常量100kf =。
1. 绘制()m t 的时域、频域曲线;2. 令()x t 表示调频信号,求()x t 的表达式,绘制()x t 的时域、频域曲线;3. 绘制解调信号的时域、频域曲线。
二、课程设计目的1.熟悉MATLAB 的使用方法,其中包括了解简单函数、了解原理和掌握操作方法;2.加深对FM 信号调制原理的理解;3.增强在通信原理仿真方面的动手能力与自学能力;4.完成FM 调制仿真之后,再遇到类似的问题时,学会对所面对的问题进行系统的分析,并能从多个方面进行比较。
三、实验原理角度调制信号的一般表达式为()cos[()]m c s t A t t ωϕ=+式中:A 为载波的恒定振幅;[()]c t t ωϕ+为信号的瞬时相位,记为()t θ;()t ϕ为相对于载波相位c t ω的瞬时相位偏移;d[()]/dt c t t ωϕ+是信号的瞬时角频率,记为(t)ω;而d ()/dt t ϕ称为相对于载频c ω的瞬时频偏。
使用Matlab进行信号调制和解调技术

使用Matlab进行信号调制和解调技术信号调制和解调是通信系统中非常重要的环节,它们能够将原始信号转换为适合传输的调制信号,并在接收端将其恢复为原始信号。
Matlab是一种功能强大的工具,提供了丰富的信号处理函数和算法,可以方便地进行信号调制和解调的研究与实现。
本文将介绍如何使用Matlab进行信号调制和解调技术,并通过实例展示其在通信系统中的应用和效果。
一、调制技术概述调制技术是将需要传输的信息信号转换为载波信号的过程。
常见的调制技术包括幅度调制(AM)、频率调制(FM)和相位调制(PM)。
调制的目的是将低频信号转换为高频信号,使得信号能够在较长距离传输,并能够通过信道传输到接收端。
在Matlab中,可以使用内置函数如ammod、fmmod和pmmod来实现不同的调制技术。
以幅度调制为例,可以使用ammod函数来实现。
下面给出一个简单的幅度调制实例。
```matlabfs = 1000; % 采样频率t = 0:1/fs:1-1/fs; % 时间序列fc = 100; % 载波频率Ac = 1; % 载波幅度ym = sin(2*pi*10*t); % 原始信号ym_mod = ammod(ym, fc, fs, Ac); % 幅度调制```上述代码中,首先定义了采样频率fs、时间序列t、载波频率fc和载波幅度Ac。
然后,生成了一个原始信号ym,其中使用了sin函数生成了一个频率为10Hz的正弦波。
最后使用ammod函数对原始信号进行幅度调制,得到了调制后的信号ym_mod。
二、解调技术概述解调技术是将调制后的信号恢复为原始信号的过程。
解调技术主要包括幅度解调(AM)、频率解调(FM)和相位解调(PM)。
解调的目的是从调制信号中提取出原始信号,以实现信息的传输。
在Matlab中,可以使用内置函数如amdemod、fmdemod和pmdemod来实现不同的解调技术。
以幅度解调为例,可以使用amdemod函数来实现。
基于matlab的fm系统调制与解调的仿真课程设计

基于matlab的fm系统调制与解调的仿真课程设计课程设计题目:基于MATLAB的FM系统调制与解调的仿真一、设计任务与要求1.设计并实现一个简单的FM(调频)调制和解调系统。
2.使用MATLAB进行仿真,分析系统的性能。
3.对比和分析FM调制和解调前后的信号特性。
二、系统总体方案1.系统组成:本设计包括调制器和解调器两部分。
调制器将低频信号调制到高频载波上,解调器则将已调制的信号还原为原始的低频信号。
2.调制方式:采用线性FM调制方式,即将低频信号直接控制高频载波的频率变化。
3.解调方式:采用相干解调,通过与本地载波信号相乘后进行低通滤波,以恢复原始信号。
三、调制器设计1.实现方式:使用MATLAB中的modulate函数进行FM调制。
2.参数设置:选择合适的载波频率、调制信号频率以及调制指数。
3.仿真分析:观察调制后的频谱变化,并分析其特性。
四、解调器设计1.实现方式:使用MATLAB中的demodulate函数进行FM解调。
2.参数设置:选择与调制器相同的载波频率、低通滤波器参数等。
3.仿真分析:观察解调后的频谱变化,并与原始信号进行对比。
五、系统性能分析1.信噪比(SNR)分析:通过改变输入信号的信噪比,观察解调后的输出性能,绘制信噪比与误码率(BER)的关系曲线。
2.调制指数对性能的影响:通过改变调制指数,观察输出信号的性能变化,并分析其影响。
3.动态范围分析:分析系统在不同输入信号幅度下的输出性能,绘制动态范围曲线。
六、实验数据与结果分析1.实验数据收集:根据设计的系统方案进行仿真实验,记录实验数据。
2.结果分析:根据实验数据,分析系统的性能指标,并与理论值进行对比。
总结实验结果,提出改进意见和建议。
七、结论与展望1.结论:通过仿真实验,验证了基于MATLAB的FM系统调制与解调的可行性。
实验结果表明,设计的系统具有良好的性能,能够实现低频信号的FM调制和解调。
通过对比和分析,得出了一些有益的结论,为进一步研究提供了基础。
基于Matlab调制与解调的实现(DOC)

基于Matlab 调制与解调的实现一.实验目的1.熟悉Matlab 的使用2.掌握幅度调制、角度调制及FSK 调制的基本原理3.掌握解调的基本原理,并实现解调二.实验原理,仿真及结果分析 AM 调制与解调1.标准AM 波调制与解调的原理调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。
为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。
载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。
设载波信号的表达式为t c ωcos ,调制信号的表达式为t A t m m m ωcos )(= ,则调幅信号的表达式为t t m A t s c AM ωcos )]([)(0+=标准调幅波示意图从高频已调信号中恢复出调制信号的过程称为解调,又称为检波。
对于振幅调制信号,解调就是从它的幅度变化上提取调制信号的过程。
解调是调制的逆过程。
)(t m )(t可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。
2.matlab仿真% ======================载波信号===========================t=-1:0.00001:1;A0=10; %载波信号振幅f=6000; %载波信号频率w0=f*pi;Uc=A0*cos(w0*t); %载波信号figure(1);subplot(2,1,1);plot(t,Uc);title('载频信号波形');axis([0,0.01,-15,15]);subplot(2,1,2);Y1=fft(Uc); %对载波信号进行傅里叶变换plot(abs(Y1));title('载波信号频谱');axis([5800,6200,0,1000000]);% ======================调制信号============================== t=-1:0.00001:1;A1=5; %调制信号振幅f=6000; %载波信号频率w0=f*pi;mes=A1*cos(0.001*w0*t); %调制信号subplot(2,1,1);plot(t,mes);xlabel('t'),title('调制信号');subplot(2,1,2);Y2=fft(mes); % 对调制信号进行傅里叶变换plot(abs(Y2));title('调制信号频谱');axis([198000,202000,0,1000000]);% =======================AM已调信号=========================t=-1:0.00001:1;A0=10; %载波信号振幅A1=5; %调制信号振幅A2=3; %已调信号振幅f=3000; %载波信号频率w0=2*f*pi;m=0.15; %调制度mes=A1*cos(0.001*w0*t); %消调制信号Uam=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号subplot(2,1,1);plot(t,Uam);grid on;title('AM调制信号波形');subplot(2,1,2);Y3=fft(Uam); % 对AM已调信号进行傅里叶变换plot(abs(Y3)),grid;title('AM调制信号频谱');axis([5950,6050,0,500000]);%=========================FIR低通滤波器=======================Ft=2000; %采样频率fpts=[100 120]; %通带边界频率fp=100Hz,阻带截止频率fs=120Hzmag=[1 0];dev=[0.01 0.05]; %通带波动1%,阻带波动5%[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev,Ft);%kaiserord估计采用凯塞窗设计的FIR滤波器的参数b21=fir1(n21,wn21,Kaiser(n21+1,beta)); %由fir1设计滤波器[h,w]=freqz(b21,1); %得到频率响应plot(w/pi,abs(h));grid ontitle('FIR低通滤波器');%=========================AM信号解调=======================t=-1:0.00001:1;A0=10; %载波信号振幅A1=5; %调制信号振幅A2=3; %已调信号振幅f=3000; %载波信号频率w0=2*f*pi;m=0.15; %调制度k=0.5 ; %DSB 前面的系数mes=A1*cos(0.001*w0*t); %调制信号Uam=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号Dam=Uam.*cos(w0*t); %对AM调制信号进行解调subplot(4,2,1);plot(t,Dam);title('滤波前AM解调信号波形');subplot(4,2,2);axis([187960,188040,0,200000]);Y5=fft(Dam); % 对AM解调信号进行傅里叶变换plot(abs(Y5)),grid;title('滤波前AM解调信号频谱');subplot(4,2,3);plot(t,z21);title('滤波后的AM解调信号波形');T5=fft(z21); %求AM信号的频谱subplot(4,2,4);plot(abs(T5));title('滤波后的AM解调信号频谱');axis([198000,202000,0,100000]);角度调制与解调角度调制是频率调制和相位调制的总称。
基于Matlab的模拟(AM、FM、PM)调制系统仿真

通信系统模拟调制系统仿真一 课题内容 AM FM PM 调制 二 设计要求1.掌握AM FM PM 调制和解调原理。
2.学会Matlab 仿真软件在AM FM PM 调制和解调中的应用。
3.分析波形及频谱1.AM 调制解调系统设计1.振幅调制产生原理所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。
这里高频振荡波就是携带信号的运载工具,也叫载波。
振幅调制,就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。
在线性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(AM )。
在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。
设正弦载波为)cos()(0ϕω+=t A t c c式中,A 为载波幅度;c ω为载波角频率;0ϕ为载波初始相位(通常假设0ϕ=0).调制信号(基带信号)为)(t m 。
根据调制的定义,振幅调制信号(已调信号)一般可以表示为)cos()()(t t Am t s c m ω=设调制信号)(t m 的频谱为)(ωM ,则已调信号)(t s m 的频谱)(ωm S :)]()([2)(c c m M M AS ωωωωω-++=2.调幅电路方案分析标准调幅波(AM )产生原理调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。
为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。
载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。
设载波信号的表达式为t c ωcos ,调制信号的表达式为t A t m m m ωcos )(= ,则调幅信号的表达式为t t m A t s c AM ωcos )]([)(0+=图5.1 标准调幅波示意图 3.信号解调思路从高频已调信号中恢复出调制信号的过程称为解调(demodulation ),又称为检波(detection )。
基于maltlabam调制与解调

基于maltlab的调制与解调1. 简介Maltlab是一种非常常用的数学软件,广泛应用于科学和工程领域。
Maltlab在通信系统中也有着重要的作用,尤其在调制与解调的模拟和仿真方面。
调制与解调是数字通信中的重要环节,它涉及到信号的编码和解码,对于数字通信系统的设计和优化有着重要的意义。
2. 调制调制是指将数字信号转换成模拟信号的过程。
在数字通信系统中,常用的调制方式有振幅调制(AM)、频率调制(FM)和相位调制(PM)等。
在Maltlab中,可以通过信号处理工具箱来进行调制过程的模拟和仿真。
需要生成一个数字信号,然后通过调制器将其转换成模拟信号。
可以通过Maltlab提供的函数来实现不同调制方式的模拟。
3. 解调解调是指将模拟信号转换成数字信号的过程。
在数字通信系统中,常用的解调方式和调制方式对应。
用于解调AM信号的方法就是通过包络检波器。
Maltlab同样可以通过信号处理工具箱来进行解调过程的模拟和仿真。
可以通过使用不同的解调算法来实现解调过程,并通过Maltlab的仿真工具来观察解调后的数字信号。
4. 应用调制与解调是数字通信系统中的核心环节,对于系统的性能和稳定性有着重要的影响。
通过Maltlab可以方便地对调制与解调过程进行模拟和仿真,帮助工程师更好地理解系统的工作原理,并对系统进行优化和改进。
Maltlab在通信系统中的应用已经非常广泛,通过Maltlab可以方便地对调制与解调的过程进行数学建模和仿真,帮助工程师进行系统设计和性能评估。
总结Maltlab作为一种强大的数学软件,在通信系统中有着广泛的应用。
调制与解调作为数字通信系统中的重要环节,对系统的性能和稳定性有着重要的影响。
通过Maltlab可以方便地进行调制与解调过程的模拟和仿真,帮助工程师更好地理解系统的工作原理,并对系统进行优化和改进。
通过Maltlab的支持,调制与解调的研究和应用将会得到更好的推动,为数字通信系统的发展和改进提供更好的技术支持。
MATLAB实现信号的调制与解调

MATLAB实现信号的调制与解调调制与解调是数字通信系统中重要的技术,它们用于将信息信号转换为适合传输的调制信号,并在接收端将调制信号还原为原始的信息信号。
在MATLAB中,可以通过使用信号处理工具箱的函数实现信号的调制与解调。
下面将详细介绍信号的调制与解调的MATLAB实现方法。
一、信号的调制调制是将信息信号转换为调制信号的过程。
常见的调制方法包括振幅调制(AM)、频率调制(FM)和相位调制(PM)。
下面以振幅调制为例,介绍信号的调制方法。
1.生成调制信号首先,需要生成调制信号。
假设我们有一个原始的音频信号,可以使用MATLAB的`audioread`函数读取音频文件,并使用`resample`函数进行重采样。
```matlab[y, fs] = audioread('original_audio.wav');y_resampled = resample(y, fs_new, fs);```2.进行振幅调制接下来,将原始音频信号进行振幅调制。
可以使用MATLAB中的`ammod`函数进行调制。
```matlabAc=1;%载波幅度t = (0:length(y_resampled)-1)/fs_new;modulated_signal = ammod(y_resampled, fc, fs_new, Ac);```3.可视化调制信号最后,可以使用MATLAB的`plot`函数对调制信号进行可视化。
```matlabfigure;plot(t, modulated_signal);xlabel('Time (s)');ylabel('Modulated Signal');title('Amplitude Modulated Signal');```二、信号的解调解调是将调制信号还原为原始信号的过程。
下面以振幅调制为例,介绍信号的解调方法。
基于Matlab的FM调制与解调全能程序库

%FM调制解调系统.m%频率调制与解调的Matlab演示源程序%可以任意改原调制信号函数m(t)%通信工程吴海涛5021210102 %•*•*•*•*•*•*•*•*•*•*•*•*•*•*•*•%*****************初始化******************echo offclose allclear allclc%***************************************** %•*•*•*•*•*•*•*•*•*•*•*•*•*•*•*•%****************FM调制*******************dt=0.001; %设定时间步长t=0:dt:1.5; %产生时间向量am=5; %设定调制信号幅度fm=5; %设定调制信号频率mt=am*cos(2*pi*fm*t); %生成调制信号fc=50; %设定载波频率ct=cos(2*pi*fc*t); %生成载波kf=10; %设定调频指数int_mt(1)=0;for i=1:length(t)-1int_mt(i+1)=int_mt(i)+mt(i)*dt; %求信号m(t)的积分end %调制,产生已调信号sfm=am*cos(2*pi*fc*t+2*pi*kf*int_mt); %调制信号%***************************************** %•*•*•*•*•*•*•*•*•*•*•*•*•*•*•*•%*************添加高斯白噪声**************sn1=10; %设定信躁比(小信噪比)sn2=30; %设定信躁比(大信噪比)sn=0; %设定信躁比(无信噪比)db=am^2/(2*(10^(sn/10))); %计算对应的高斯白躁声的方差n=sqrt(db)*randn(size(t)); %生成高斯白躁声nsfm=n+sfm; %生成含高斯白躁声的已调信号(信号通%过信道传输)%***************************************** %•*•*•*•*•*•*•*•*•*•*•*•*•*•*•*•%****************FM解调*******************for i=1:length(t)-1 %接受信号通过微分器处理diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;enddiff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;diff_nsfmn1=diff_nsfmn-zero;%***************************************** %•*•*•*•*•*•*•*•*•*•*•*•*•*•*•*•%**************时域到频域转换**************ts=0.001; %抽样间隔fs=1/ts; %抽样频率df=0.25; %所需的频率分辨率,用在求傅里叶变换%时,它表示FFT的最小频率间隔%*****对调制信号m(t)求傅里叶变换*****m=am*cos(2*pi*fm*t); %原调信号fs=1/ts;if n==2n1=0;elsen1=fs/df;endn2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2)));M=fft(m,n);m=[m,zeros(1,n-n2)];df1=fs/n; %以上程序是对调制后的信号u求傅里变换M=M/fs; %缩放,便于在频铺图上整体观察f=[0:df1:df1*(length(m)-1)]-fs/2; %时间向量对应的频率向量%************对已调信号u求傅里变换**********fs=1/ts;if n==2n1=0;elsen1=fs/df;endn2=length(sfm);n=2^(max(nextpow2(n1),nextpow2(n2)));U=fft(sfm,n);u=[sfm,zeros(1,n-n2)];df1=fs/n; %以上是对已调信号u求傅里变换U=U/fs; %缩放%******************************************%***************************************** %•*•*•*•*•*•*•*•*•*•*•*•*•*•*•*•%***************显示程序******************disp('按任意键可以看到原调制信号、载波信号和已调信号的曲线')pause%**************figure(1)******************figure(1)subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图xlabel('时间t');title('调制信号的时域图')subplot(3,1,2);plot(t,ct); %绘制载波的时域图xlabel('时间t');title('载波的时域图');subplot(3,1,3);plot(t,sfm); %绘制已调信号的时域图xlabel('时间t');title('已调信号的时域图');%******************************************disp('按任意键可以看到原调制信号和已调信号在频域内的图形')pause%************figure(2)*********************figure(2)subplot(2,1,1)plot(f,abs(fftshift(M))) %fftshift:将FFT中的DC分量移到频谱中心xlabel('频率f')title('原调制信号的频谱图')subplot(2,1,2)plot(f,abs(fftshift(U)))xlabel('频率f')title('已调信号的频谱图')%******************************************disp('按任意键可以看到原调制信号、无噪声条件下已调信号和解调信号的曲线')pause%**************figure(3)******************figure(3)subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图xlabel('时间t');title('调制信号的时域图');subplot(3,1,2);plot(t,sfm); %绘制已调信号的时域图xlabel('时间t');title('无噪声条件下已调信号的时域图');nsfm=sfm;for i=1:length(t)-1 %接受信号通过微分器处理diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;enddiff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;diff_nsfmn1=diff_nsfmn-zero;subplot(3,1,3); %绘制无噪声条件下解调信号的时域图plot((1:length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');xlabel('时间t');title('无噪声条件下解调信号的时域图');%*****************************************disp('按任意键可以看到原调制信号、小信噪比高斯白噪声条件下已调信号和解调信号已调信号的曲线')pause%**************figure(4)******************figure(4)subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图xlabel('时间t');title('调制信号的时域图');db1=am^2/(2*(10^(sn1/10))); %计算对应的小信噪比高斯白躁声的方差n1=sqrt(db1)*randn(size(t)); %生成高斯白躁声nsfm1=n1+sfm; %生成含高斯白躁声的已调信号(信号通%过信道传输)for i=1:length(t)-1 %接受信号通过微分器处理diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;enddiff_nsfmn1 = abs(hilbert(diff_nsfm1)); %hilbert变换,求绝对值得到瞬时幅度(包络检波)zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;diff_nsfmn1=diff_nsfmn1-zero;subplot(3,1,2);plot(1:length(diff_nsfm),diff_nsfm); %绘制含小信噪比高斯白噪声已调信号的时域图xlabel('时间t');title('含小信噪比高斯白噪声已调信号的时域图');subplot(3,1,3); %绘制含小信噪比高斯白噪声解调信号的时域图plot((1:length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');xlabel('时间t');title('含小信噪比高斯白噪声解调信号的时域图');%*****************************************disp('按任意键可以看到原调制信号、大信噪比高斯白噪声条件下已调信号和解调信号已调信号的曲线')pause%**************figure(5)******************figure(5)subplot(3,1,1);plot(t,mt); %绘制调制信号的时域图xlabel('时间t');title('调制信号的时域图');db1=am^2/(2*(10^(sn2/10))); %计算对应的大信噪比高斯白躁声的方差n1=sqrt(db1)*randn(size(t)); %生成高斯白躁声nsfm1=n1+sfm; %生成含高斯白躁声的已调信号(信号通过信道传输)for i=1:length(t)-1 %接受信号通过微分器处理diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;enddiff_nsfmn1 = abs(hilbert(diff_nsfm1)); %hilbert变换,求绝对值得到瞬时幅度(包%络检波)zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;diff_nsfmn1=diff_nsfmn1-zero;subplot(3,1,2);plot(1:length(diff_nsfm1),diff_nsfm1); %绘制含大信噪比高斯白噪声已调信号%的时域图xlabel('时间t');title('含大信噪比高斯白噪声已调信号的时域图');subplot(3,1,3); %绘制含大信噪比高斯白噪声解调信号%的时域图plot((1:length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');xlabel('时间t');title('含大信噪比高斯白噪声解调信号的时域图');%*****************************************%******************结束*******************附录资料:MATLAB 的30个方法1 内部常数2 数学运算符3 关系运算符4 常用内部数学函数asech(x) 反双曲正割函数acsch(x) 反双曲余割函数求角度函数atan2(y,x) 以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度,范围为(,]数论函数gcd(a,b) 两个整数的最大公约数lcm(a,b) 两个整数的最小公倍数排列组合函数factorial(n)阶乘函数,表示n的阶乘复数函数real(z) 实部函数imag(z) 虚部函数abs(z) 求复数z的模angle(z)求复数z的辐角,其范围是(,]conj(z) 求复数z的共轭复数求整函数与截尾函数ceil(x)表示大于或等于实数x的最小整数floor(x)表示小于或等于实数x的最大整数round(x) 最接近x的整数最大、最小函数max([a,b,c,...])求最大数min([a,b,c,..])求最小数符号函数sign(x)5 自定义函数-调用时:“[返回值列]=M文件名(参数列)”function 返回变量=函数名(输入变量)注释说明语句段(此部分可有可无)函数体语句6.进行函数的复合运算compose(f,g)返回值为f(g(y))compose(f,g,z) 返回值为f(g(z))compose(f,g,x,.z) 返回值为f(g(z))7 因式分解8 代数式展开9 合并同类项10 进行数学式化简11 进行变量替换12 进行数学式的转换调用Maple中数学式的转换命令,调用格式如下:maple(‘Maple的数学式转换命令’) 即:13 解方程solve(’方程’,’变元’)注:方程的等号用普通的等号: =14 解不等式调用maple中解不等式的命令即可,调用形式如下:具体说,包括以下五种:15 解不等式组调用maple中解不等式组的命令即可,调用形式如下:16 画图17 求极限(1)极限:(2)单侧极限:左极限:右极限:18 求导数或者:19 求高阶导数或者:diff(f(x), x,n)20 在MATLAB中没有直接求隐函数导数的命令,但是我们可以根据数学中求隐函数导数的方法,在中一步一步地进行推导;也可以自己编一个求隐函数导数的小程序;不过,最简便的方法是调用Maple中求隐函数导数的命令,调用格式如下:maple('implicitdiff(f(x,y)=0,y,x)')在MATLAB中,没有直接求参数方程确定的函数的导数的命令,只能根据参数方程确定的函数的求导公式一步一步地进行推导;或者,干脆自己编一个小程序,应用起来会更加方便。
实验四--基于matlab的FM调制与解调.wps

FM 解调模型
4.3.2 解调过程分析 输入调频信号为
解调模型
设相干载波为
uFM t Uc cos
0t k f
t 0
u
t
dt
ct cos2 pi fct
乘法器的作用是把调频信号变成有多种频率的波的混合,乘法器输出为
sp
t
1 2
sin
2ct
1 2
K
f
m
t
dt
1
cos
2ct
经低通滤波器后取出器低频分量为
diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;
end
diff_nsfmn=abs(hilbert(diff_nsfm1)); %hilbert 变换,求绝对值得到瞬
时幅度(包络检波)
zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;
subplot(2,1,2);
plot((1:length(diff_nsfmn3))./1000,diff_nsfmn3./400,'r'); xlabel('时间 t'); title('含高斯噪声条件下解调信号的时域图');
五.实验结果:
调制结果:
高斯白噪声:
解调图形
实验总结:
通过这次的通信原理实验,我对系统的调制与解调有个详细而且深刻的认识,这使得我对通 信原理这门课程有了全新的理解。在实验中遇到了许多问题,通过网上查阅资料,在老师同 学的帮助下,完成了这次的实验。通过个 bask,pcm 等调制方式,我加深了对调制的认识。 并在 fm 解调方式中明白了解调的方式与方法。谢谢老师的悉心指导与同学的帮助。
基于MATLAB的模拟信号频率调制(FM)与解调分析

课程设计任务书学生姓名:杨刚专业班级:电信1302指导教师: 工作单位:武汉理工大学题目信号分析处理课程设计—基于MATLAB的模拟信号频率调制(FM)与解调分析初始条件:1.Matlab6.5以上版本软件;2.先修课程:通信原理等;要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、利用MATLAB中的simulink工具箱中的模块进行模拟频率(FM)调制与解调,观察波形变化2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结;3、课程设计说明书按学校统一规范来撰写,具体包括:⑴目录;⑵理论分析;⑶ 程序设计;⑷ 程序运行结果及图表分析和总结;⑸课程设计的心得体会(至少800字,必须手写。
);⑹参考文献(不少于5篇)。
时间安排:周一、周二查阅资料,了解设计内容;周三、周四程序设计,上机调试程序;周五、整理实验结果,撰写课程设计说明书2013系主任(或责任教师)签名: 2013 年7月2日指导教师签名:目录1 Simulink 简介 (1)1.1 Matlab简介.................................... 错误!未定义书签。
1.2 Simulink介绍 .................................. 错误!未定义书签。
2原理分析........................................... 错误!未定义书签。
2.1通信系统....................................... 错误!未定义书签。
2.1.1通信系统的一般模型........................ 错误!未定义书签。
2.1.2模拟通信系统 (3)2.2 FM调制与解调原理............................. 错误!未定义书签。
基于matlab的 AM,FM调制与解调报告

AM调制与解调100%% AMµ÷ÖÆfigure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')a0=1;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×');fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 105012x 106信息信号频谱11.0005 1.001-101载波信号-505x 105012x 106载波信号频谱11.00051.001-202已调信号-55x 105012x 106已调信号频谱2.52.50052.501-4-2024添加噪声后信号波形-505x 105051015x 105添加噪声后信号频谱2.52.50052.501-2024带通滤波后信号波形-55x 10500.511.526带通滤波后信号频谱50%% AMµ÷ÖÆfigure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-1012相乘信号-5-4-3-2-1012345x 1050510155相乘信号频谱2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.501-0.500.51解调信号-5-4-3-2-1012345x 1050510155解调信号频谱a0=2;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×'); fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 1050126信息信号频谱11.0005 1.001-101载波信号-505x 1050126载波信号频谱11.00051.001-505已调信号-55x 105024x 106已调信号频谱2.52.50052.501-505添加噪声后信号波形-505x 1050123x 106添加噪声后信号频谱2.52.50052.501-4-2024带通滤波后信号波形-55x 105012346带通滤波后信号频谱2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-10123相乘信号-5-4-3-2-1012345x 10501236相乘信号频谱0%% AMµ÷ÖÆfigure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')a0=10^100;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.50100.511.5解调信号-5-4-3-2-1012345x 10501236解调信号频谱subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×'); fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 1050126信息信号频谱1 1.0005 1.001-101载波信号-505x 1050126载波信号频谱11.00051.001-101x 10100已调信号-55x 105012x 10106已调信号频谱2.52.5005 2.501-1-0.500.51x 10100添加噪声后信号波形-505x 105051015x 10105添加噪声后信号频谱2.52.5005 2.501-2-1012x 10100带通滤波后信号波形-55x 1051x 10106带通滤波后信号频谱FM 调制与解调%%FMfigure('Name','FMµ÷ÖƲ¨ÐÎÓëƵÆ×')2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-50510x 1099相乘信号-5-4-3-2-1012345x 105051015105相乘信号频谱2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.5013.93.913.923.93x 1099解调信号-1-0.500.51x 105123105解调信号频谱f0=2000; fc=20000; fs=1000000; Am=1; kf=0.5; Tc=8; Ta=0.001; dt=0.000001;t=[0:1/fs:3];f=(0:length(t)-1)*fs/(length(t))-fs/2;fm0=cos(2*pi*f0*t);mt=fm0;%»ý·ÖÆ÷Éè¼Æw1=0;w2=0;for m=1:length(t)w1=mt(m)+w2;w2=mt(m)+w1;fi(m)=w1/(2*fs);endfi=fi*2*pi/max(abs(fi));I=cos(kf*fi);Q=sin(kf*fi);y1=Am*cos(2*pi*fc*t).*I-Am*sin(2*pi*fc*t).*Q;subplot(2,1,1);plot(t,y1);title('²¨ÐÎ')axis([1e-3 4e-3 -2 2]);Y1=fft(y1);subplot(2,1,2);plot(f,fftshift(abs(Y1))/1e6); title('ƵÆ×') %%Ôز¨ÆµÆ×axis([-4e4 4e4 0 1]);figure('Name','FMµ÷Öƺó¼ÓÔëÉù²¨ÐÎÓë½âµ÷ºó²¨ÐÎÒÔ¼°Â˳ýÖ±Á÷·ÖÁ¿ºóµÄ²¨ÐÎ')y1o=awgn(y1,40);subplot(3,1,1);plot(t,y1o); title('¼ÓÔëÉùºó²¨ÐÎ') %%¼ÓÔëÉùºóµÄÐźÅaxis([1e-3 4e-3 -2 2]);%%´øͨÂ˲¨KSband=2*(3+1)*f0;fcutsb=[fc-KSband-2000 fc-KSbandfc+KSbandfc+KSband+2000]; %%½ÓÊÕ»úÇ°¶Ë´øͨÂ˲¨magsb=[0 1 0];devsb=[0.05 0.01 0.05];[nb,Wnb,betab,ftypeb]=kaiserord(fcutsb,magsb,devsb,fs);hhb=fir1(nb,Wnb,ftypeb,kaiser(nb+1,betab),'noscale'); %´øͨÂ˲¨Æ÷£»st_pb=fftfilt(hhb,y1o);subplot(3,1,2);st_pb=st_pb/1e6;plot(t,st_pb); title('´øͨÂ˲¨Æ÷ºóµÄ²¨ÐÎ')axis([1e-3 4e-3 -2e-6 2e-6]);%΢·ÖÆ÷Éè¼Æfor i=1:length(t)-1 %½ÓÊÕÐźÅͨ¹ý΢·ÖÆ÷´¦Àídiff_st_pb(i)=(st_pb(i+1)-st_pb(i))/dt;endsfm=abs(hilbert(diff_st_pb));subplot(3,1,2);plot(t,[sfm*20 0]);axis([1e-3 4e-3 0 4]);%%¸ôÖ±% KSbandh=2*(3+1)*f0;fcutsh=[0.01 3000];magsh=[0 1];devsh=[0.01 0.05];[nh,Wnh,betah,ftypeh]=kaiserord(fcutsh,magsh,devsh,fs);hhh=fir1(nh,Wnh,ftypeh,kaiser(nh+1,betah),'noscale');sfm_out=fftfilt(hhh,sfm*20);subplot(3,1,3);plot(t,[sfm_out 0]);title('¸ôÖ±ºóµÄ²¨ÐÎ')axis([1e-3 4e-3 -2 2]);11.522.533.54x 10-3-2-1012波形-4-3-2-101234x 10400.51频谱11.522.533.54x 10-3-202加噪声后波形11.522.53 3.54x 10-302411.522.533.54x 10-3-202隔直后的波形。
FM的MATLAB调制解调

通信原理仿真实验报告实验名称:FM调制及解调姓名:专业:年级:学号:201X年X 月X日FM 调制及解调设输入信号为()cos 2m t t π= ,载波中心频率为 10c z f H =,VCO 的压控振荡系数为 5/z H V ,载波平均功率为1W 。
试画出: ● 已调信号的时域波形; ● 已调信号的振幅谱;● 用鉴频器解调该信号,并与输入信号比较。
一、 程序代码clear allt0=2;tz=0.0001; %时间向量精度 fs=1/tz; %设定抽样频率 t=[-t0:tz:t0]; %产生时间向量kf=5; %设定压控振荡器系数 fc=10; %设定载波频率kd=0.8; %设定鉴频增益/鉴频器灵敏度 m_fun=cos(2*pi*t);int_m(1)=0; %对m_fun 积分 for i=1:length(t)-1int_m(i+1)=int_m(i)+m_fun(i)*tz; endx=sqrt(2)*cos(2*pi*fc*t+kf*int_m); %调制信号 y=m_fun.*kd*kf; %解调信号 z=-sqrt(2)*(2*pi*fc+kf*m_fun).*sin(2*pi*fc*t+kf*int_m); Nf=4096*32;M=fft(m_fun,Nf); %对原始信号快速傅里叶变换 f=[0:1:Nf-1]./Nf.*fs;X=fft(x,Nf); %对已调信号快速傅里叶变换 Y=fft(y ,Nf); %对解调信号快速傅里叶变换figure(1); %生成原始信号的时域图形 plot(t,m_fun(1:length(t)),'linewidth',2); title('原始信号的时域图形'); xlabel('时间/s');legend('m(t)')figure(2); %生成原始信号的频域图形h1=plot(f,abs(fftshift(M))/max(abs(M)),'linewidth',1);title('原始信号的频域图形');xlabel('频率/Hz');legend('M(f)');figure(3); %生成已调信号的时域图形plot(t,x(1:length(t)),'linewidth',2);title('已调信号的时域图形');xlabel('时间/s');legend('x(t)');figure(4); %生成已调信号的频域图形plot(f,abs(fftshift(X))/max(abs(X)),'linewidth',1);title('已调信号的频域图形');xlabel('频率/Hz');legend('X(f)');figure(5); %鉴频微分电路输出plot(t,z(1:length(t)),'linewidth',2);title('鉴频微分电路输出的时域图形');xlabel('时间/s');legend('z(t)');figure(6); %生成解调信号的时域图形plot(t,y(1:length(t)),'linewidth',2);title('解调信号的时域图形');xlabel('时间/s');legend('y(t)');figure(7); %生成解调信号的频域图形plot(f,abs(fftshift(Y))/max(abs(Y)),'linewidth',1);title('解调信号的频域图形');xlabel('频率/Hz');legend('Y(f)');二、实验结果与分析(1)已调信号的时域波形时间/s时间/s时间/s调频信号的一般表达式为:()cos[()]c fx t A t K m dωττ=+⎰,已知()cos2m t tπ=,2c cw fπ=,10c zf H=,5/f zK H V=,由于载波平均功率为1W,故A=5/f zK H V=,调制波形的频率变化不明显,对比第二、三图可知,fK越大时(第三图25/f zK H V=),调制现象更加明显。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书学生姓名:杨刚专业班级:电信1302指导教师:工作单位:武汉理工大学题目:信号分析处理课程设计-基于MATLAB的模拟信号频率调制(FM)与解调分析初始条件:1.Matlab6.5以上版本软件;2.先修课程:通信原理等;要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、利用MATLAB中的simulink工具箱中的模块进行模拟频率(FM)调制与解调,观察波形变化2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结;3、课程设计说明书按学校统一规范来撰写,具体包括:⑴目录;⑵理论分析;⑶程序设计;⑷程序运行结果及图表分析和总结;⑸课程设计的心得体会(至少800字,必须手写。
);⑹参考文献(不少于5篇)。
时间安排:周一、周二查阅资料,了解设计内容;周三、周四程序设计,上机调试程序;周五、整理实验结果,撰写课程设计说明书。
指导教师签名: 2013 年 7月 2 日系主任(或责任教师)签名: 2013年 7月 2日目录1 Simulink简介 (1)1.1 Matlab简介························································错误!未定义书签。
1.2 Simulink介绍 ·····················································错误!未定义书签。
2 原理分析 ·······························································错误!未定义书签。
2.1通信系统 ···························································错误!未定义书签。
2.1.1通信系统的一般模型 ·····································错误!未定义书签。
2.1.2 模拟通信系统 (3)2.2 FM调制与解调原理·············································错误!未定义书签。
3 基于Matlab方案设计 (6)3.1 Matlab代码 (6)3.2 Matlab仿真 (8)4 基于Simulink方案设计 (12)4.1 使用Simulink建模和仿真的过程 (12)4.1.1 Simulink模块库简介 (12)4.1.2 调制解调模块库简介 (13)4.2 FM调制与解调电路及仿真 (14)4.3 仿真结果分析 (17)5 心得体会 ·······························································错误!未定义书签。
6 参考文献 (20)本科生课程设计评定表1 Simulink简介Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境Simulink作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
本课题主要是以simulink为基础平台,对FM信号的调制与解调进行分析。
1.1 Matlab简介Matlab是Matrix Laboratory的缩写,意为矩阵实验室。
它具有强大的矩阵处理功能和绘图功能,进还能进行文字处理,绘图,建模仿真等功能。
Matlab是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括Matlab和Simulink两大部分。
Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。
Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C,FORTRAN 等语言完成相同的事情简捷得多,并且Matlab也吸收了像Maple等软件的优点,使Matlab 成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JA V A的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到Matlab函数库中方便自己以后调用,此外许多的Matlab爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
Matlab的帮助功能很强大,自带有详细的帮助手册,基于HTML的完整的帮助功能,也可以用help命令来得到帮助信息。
程序语法与C语言类似,设计自由度大,方便我们编程。
Matlab有高级的程序环境,但程序环境很简单易用。
Matlab源程序具有很大的开放性。
Matlab有强大的的图形绘制功能。
Matlab还拥有功能强大的各种工具箱。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究,能极大地促进我们的学习研究工作。
1.2 Simulink介绍Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
Simulink框图提供了交互性很强的仿真环境,既可以通过下拉菜单执行仿真,也可以通过命令行进行仿真。
菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真如蒙特卡罗仿真非常有用。
Simulink的开放式结构允许用户扩展仿真环境的功能:采用Matlab、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面。
因此用户可以将使用FORTRAN或C编写的代码链接进来,或者购买使用第三方开发提供的模块库进行更高级的系统设计、仿真与分析。