文档详情

FM调制和相干解调-非相干解调

xuey****n398
实名认证
店铺
DOC
508.50KB
约23页
文档ID:165734685
FM调制和相干解调-非相干解调_第1页
1/23

   通信原理课程设计报告 题目:模拟通信系统频率调制的实现      专业班级: 13电信科技2班 姓 名:     学 号: 指导教师: 彭文娟    【摘要】本设计主要是用MATLAB软件仿真实现语音信号作为输入信号的FM调制与解调,并绘制出原调制信号、已调信号、解调信号的时域和频域图;再进一步绘制出已调信号通过高斯白噪声信道的时域图,最后绘出FM基带信号通过上述信道后的解调波形和时域图最后通过理论与波形对比分析不同信噪比对信号解调的分析关键词: FM;调制;解调;MATLAB ;高斯白噪声 目录1引言.........................................................1 1.1 课程设计题目............................................1 1.2 课程设计要求............................................12 FM调制解调系统建立..........................................1 2.1调制模型.................................................1 2.2 FM解调..................................................3 2.2.1相干解调............................................3 2.2.2非相干解调..........................................53 系统抗噪声性能分析...........................................7 3.1高斯白噪声特性...........................................7 3.2不同信噪比对信号传输的影响..............................84部分程序代码................................................95心得体会....................................................126参考文献....................................................141 引 言1.1 课程设计题目仿真实现语音信号作为输入信号进行模拟通信系统频率调制,通过高斯白噪声信道,已调信号解调还原出原输入信号。

1.2课程设计要求1) 实现调制和相干解调的时域图及频域图2) 实现非相干解调及系统性能分析2 FM调制解调系统建立2.1 调制模型FM调制不再是简单的频谱线性搬移,而是非线性调制,它是将调制信号附加到载波的相位上在数学定义上,载波是具有恒定振幅、恒定频率、恒定相位的正(余)弦波,并且它的在时间上是无线延伸的因此,在频域上它具有单一频率分量载波在被调制后,其频谱不在是仅有单一频率分量,而是具有许多连续或离散的频率分量,占据一定的频带宽度我们说,角度调制使载波的频率和相位随调制信号而变这里实际上已经引入了“瞬时频率”的概念因为在严格的数学定义上载波的频率是恒定的现在就来定义瞬时频率设一个载波可以表示为: (2.1.1)式中0为在载波的初相位;为载波的瞬时相位;为载波的频率载波的角频率原本是一个常量现在将被角度调制后的定义为瞬时频率即: (2.1.2)他是时间的函数由上式可以写出: (2.1.3)若使瞬时频率直接随信号线性的变化,则得到频率调制,简称调频。

这时有瞬时角频率: (2.1.4)由式(2.1.3)得到: (2.1.5)这样得出的已调信号表示式为: (2.1.6)由上式可以看出在频率调制中载波的相位随调制信号的积分线性的变化如果将调制信号m(t)先积分,在对载波进行相位调制,即得到频率调制信号 调制模型其中,为基带调制信号,设 设载波为 在调制时,调制信号的频率去控制载波的频率的变化,载波的瞬时频偏随调制信号成正比例变化,即 式中,是调频灵敏度相位偏移为 则可得到调频信号为 信道为高斯白噪声信道,其功率为 调制信号的时域图 已调的时域图 2.2 FM解调调制信号的解调有相干解调和非相干解调两种相干解调即同步解调,仅仅适用于窄带调频信号,且需要同步信号非相干解调不需要同步信号,应用较为广泛2.2.1.相干解调相干解调模型微分器低通滤波器乘法器带通滤波器器SFM(t) 相干载波带通滤波器输入为通过噪声信道的已调频信号,带通滤波器是为了滤除频带外信道加性噪声。

乘法器的作用是将信号与相干载波相乘低通滤波器可以滤除高频分量微分器是为了去掉m(t)外的高频分量本设计的相干解调是基于matlab中simulink仿真电路实现Simulink 仿真电路调制、已调、解调信号的时域图2.2.2.非相干解调非相干解调器由限幅器、鉴频器和低通滤波器等组成,其流程如图所示限幅器输入为已调频信号和噪声,限幅器是为了消除接收信号在幅度上可能出现的畸变;带通滤波器的作用是用来限制带外噪声,使调频信号顺利通过鉴频器中的微分器把调频信号变成调幅调频波,然后由包络检波器检出包络,最后通过低通滤波器取出调制信号引用百度文库)输入调频信号 微分器输出信号为 包络检波的作用是从输出信号的幅度变化中检出调制信号包络检波器输出为 称为鉴频灵敏度,是已调信号单位频偏对应的调制信号的幅度,隔除无用的直流,得 本过程基于matlab代码实现:程序流程图初始化程序显示程序FM调制程序加噪声程序解调程序绘制频谱程序微分器通过程序实现,代码如下:for i=1:length(t)-1 %接受信号通过微分器处理 diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;enddiff_nsfmn = abs(hilbert(diff_nsfm)); %hilbert变换,求绝对值得到瞬时幅度 %(包络检波)(引用)通过代码实现解调波形如下:3 系统的抗噪声性能分析3.1 高斯白噪声特性MATLAB自身带有标准高斯分布的内部函数。

函数产生的随机序列服从均值为,方差的高斯分布设信号通过高斯白噪声信道后的信号变为 其有用信号功率为 噪声功率为 信噪比为 可得 3.2 不同信噪比对信号对信号传输影响本报告重点讨论非相干解调时,大小信噪比对信号传输的影响调频信号输入功率为,噪声功率为所以在大信噪比条件下,信号和噪声的相互作用可以忽略,这时可以把信号和噪声分开来算,这里,我们可以得到解调器的输出信噪比上面的式子中,是载波的振幅,是调频器灵敏度,是调制信号的最高频率,是噪声单边功率谱密度得到解调器的制度增益为考虑在宽带调频时,信号带宽为 可以得到 (引用百度文库)可以看出,大信噪比时宽带调频系统的信噪比增益是很高的,它与调频指数的立方成正比可见,加大调频指数,可使调频系统的抗噪声性能迅速改善在仿真过程中采用10db和30db两种不同信噪比以示区别,其时域图如下4 部分程序代码%****************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 nargin==2 n1=0;else n1=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; %以上程序是对调制信号m(t)求傅里变换M=M/fs; %缩放,便于在频谱图上观察整体f=[0:df1:df1*(length(m)-1)]-fs/2; %时间向量对应的频率向量%************对已调信号u求傅里变换显示频域**********fs=1/ts;if nargin==2 n1=0;else n1=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; %缩放%******************************************%*****************************************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%**************scope(4)******************scope(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%**************scope(5)******************scope(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('含大信噪比高斯白噪声解调信号的时域图');5 心得体会 本次课程设计中,我主要了解了FM调制和解调的原理,对信号的传输有了更深的认识。

此次课程设计也花费了我大量的时间,主要用于学习matlab的simulink和代码的学习不得不说matlab功能的强大和复杂设计之初我们小组查花费了大量时间查阅相关资料弄懂了FM调制和解调的过程以及基本的matlab电路搭建,但是当我们搭建好FM调制和解调的电路时,每次运行都会出错,得不到想要的结果,通过对错误的反复排查及分析终于找到错误的原因是simulink中集成模块的内部电路参数未设置正确还有对matlab代码实现非相干解调部分,代码的编写需要非常细心,一个标点的错误都会导致运行结果的失败,由于对matlab的不熟悉,代码的编写只能参照产考文献和网上资料进行借用和更该但是经过小组成员的不懈努力,最终实现了课程设计的相关要求这次课程设计让我深刻的认识到的了科学的严谨性,任何错误都是不允许的还有学习交流的重要性,设计过程中很多困难都是在大家的讨论和请教中解决的而且在这次设计也让我发现了自己很多不足之出,多所学知识的理解肤浅,学习能力较差,这也是我以后要改进的地方,理论和实践必须有机的结合起来才能学的更好 【参考文献】【1】樊昌信,通信原理,电子工业出版社,2008【2】邵玉斌,Matlab/Simulink通信原理建模与仿真实例分析,清华大学出版社,2008【3】张静,MATLAB在控制系统中的应用,电子工业出版社 【4】田敏、李江全、刘军,案例解说MATLAB典型控制应用,电子工业出版社【5】吴伟铃,庞沁华,通信原理,北京邮电大学出版社,2005【6】刘浩、韩晶,matlab2012a一本通【7】曹志刚,钱亚生,现代通信原理,清华大学出版社,1992 %FM调制解调系统.m%频率调制与解调的Matlab演示源程序%可以任意改原调制信号函数m(t)%信息工程 陈丽丹 07323202 %·*·*·*·*·*·*·*·*·*·*·*·*·*·*·*·%*****************初始化******************echo off close 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)-1 int_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 nargin==2 n1=0;else n1=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 nargin==2 n1=0;else n1=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('含大信噪比高斯白噪声解调信号的时域图');%*****************************************%******************结 束*******************。

下载提示
相关文档
正为您匹配相似的精品文档