基于Matlab的模拟AMFMPM调制系统仿真.docx
- 文档编号:6754450
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:26
- 大小:176.34KB
基于Matlab的模拟AMFMPM调制系统仿真.docx
《基于Matlab的模拟AMFMPM调制系统仿真.docx》由会员分享,可在线阅读,更多相关《基于Matlab的模拟AMFMPM调制系统仿真.docx(26页珍藏版)》请在冰豆网上搜索。
基于Matlab的模拟AMFMPM调制系统仿真
通信系统模拟调制系统仿真
一课题内容
AMFMPM调制
二设计要求
1.掌握AMFMPM调制和解调原理。
2.学会Matlab仿真软件在AMFMPM调制和解调中的应用。
3.分析波形及频谱
1.AM调制解调系统设计
1.振幅调制产生原理
所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。
这里高频振荡波就是携带信号的运载工具,也叫载波。
振幅调制,就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。
在线性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(AM)。
在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。
设正弦载波为
式中,A为载波幅度;
为载波角频率;
为载波初始相位(通常假设
=0).
调制信号(基带信号)为
。
根据调制的定义,振幅调制信号(已调信号)一般可以表示为
设调制信号
的频谱为
,则已调信号
的频谱
:
2.调幅电路方案分析
标准调幅波(AM)产生原理
调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。
为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。
载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。
设载波信号的表达式为
,调制信号的表达式为
,则调幅信号的表达式为
图5.1标准调幅波示意图
3.信号解调思路
从高频已调信号中恢复出调制信号的过程称为解调(demodulation),又称为检波(detection)。
对于振幅调制信号,解调(demodulation)就是从它的幅度变化上提取调制信号的过程。
解调(demodulation)是调制的逆过程。
可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。
matlab仿真
1.载波信号与调制信号分析
%======================载波信号===========================
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);
gridon;
title('AM调制信号波形');
subplot(2,1,2);
Y3=fft(Uam);%对AM已调信号进行傅里叶变换
plot(abs(Y3)),grid;
title('AM调制信号频谱');
axis([5950,6050,0,500000]);
AM已调信号
Ft=2000;%采样频率
fpts=[100120];%通带边界频率fp=100Hz,阻带截止频率fs=120Hz
mag=[10];
dev=[0.010.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));
gridon
2.AM解调
%=========================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(2,1,1);
plot(t,Dam);
gridon;
title('滤波前AM解调信号波形');
subplot(2,1,2);
Y5=fft(Dam);%对AM解调信号进行傅里叶变换
plot(abs(Y5)),grid;
title('滤波前AM解调信号频谱');
axis([187960,188040,0,200000]);
AM解调信号
%=======================AM解调信号FIR滤波=================
t=-1:
0.00001:
1;
A0=10;%载波信号振幅
A1=5;%调制信号振幅
A2=3;%已调信号振幅*************************************
f=6000;%载波信号频率
w0=f*pi;
m=0.15;%调制度**************************************
Uc=A0.*cos(w0*t);%载波信号
subplot(5,2,1);
plot(t,Uc);
title('载波信号');
axis([0,0.01,-15,15]);
T1=fft(Uc);%傅里叶变换
subplot(5,2,2);
plot(abs(T1));
title('载波信号频谱');
axis([5800,6200,0,1000000]);
mes=A1*cos(0.001*w0*t);%调制信号
subplot(5,2,3);
plot(t,mes);
title('调制信号');
T2=fft(mes);
subplot(5,2,4);
plot(abs(T2));
title('调制信号频谱');
axis([198000,202000,0,2000000]);
Uam=A2*(1+m*mes).*cos((w0).*t);%AM已调信号*****************
subplot(5,2,5);
plot(t,Uam);
title('已调信号');
T3=fft(Uam);
subplot(5,2,6);
plot(abs(T3));
title('已调信号频谱');
axis([5950,6050,0,500000]);
Dam=Uam.*cos(w0*t);%对AM已调信号进行解调
subplot(5,2,7);
plot(t,Dam);
title('滤波前的AM解调信号波形');
T4=fft(Dam);%求AM信号的频谱
subplot(5,2,8);
plot(abs(T4));
title('滤波前的AM解调信号频谱');
axis([187960,188040,0,200000]);
z21=fftfilt(b21,Dam);%FIR低通滤波
subplot(5,2,9);
plot(t,z21,'r');
title('滤波后的AM解调信号波形');
T5=fft(z21);%求AM信号的频谱
subplot(5,2,10);
plot(abs(T5),'r');
title('滤波后的AM解调信号频谱');
axis([198000,202000,0,200000]);
2.FM调制解调系统设计
通信的目的是传输信息。
通信系统的作用就是将信息从信息源发送到一个或多个目的地。
对于任何一个通信系统,均可视为由发送端、信道和接收端三大部分组成。
通信系统一般模型
信息源(简称信源)的作用是把各种信息转换成原始信号。
根据消息的种类不同信源分为模拟信源和数字信源。
发送设备的作用产生适合传输的信号,即使发送信号的特性和信道特性相匹配,具有抗噪声的能力,并且具有足够的功率满足原距离传输的需求。
信息源和发送设备统称为发送端。
发送端将信息直接转换得到的较低频率的原始电信号称为基带信号。
通常基带信号不宜直接在信道中传输。
因此,在通信系统的发送端需将基带信号的频谱搬移(调制)到适合信道传输的频率范围内进行传输。
这就是调制的过程。
信号通过信道传输后,具有将信号放大和反变换功能的接收端将已调制的信号搬移(解调)到原来的频率范围,这就是解调的过程。
信号在信道中传输的过程总会受到噪声的干扰,通信系统中没有传输信号时也有噪声,噪声永远存在于通信系统中。
由于这样的噪声是叠加在信号上的,所以有时将其称为加性噪声。
噪声对于信号的传输是有害的,它能使模拟信号失真。
在本仿真的过程中我们假设信道为高斯白噪声信道。
调制在通信系统中具有十分重要的作用。
一方面,通过调制可以把基带信号的频谱搬移到所希望的位置上去,从而将调制信号转换成适合于信道传输或便于信道多路复用的已调信号。
另一方面,通过调制可以提高信号通过信道传输时的抗干扰能力,同时,它还和传输效率有关。
具体地讲,不同的调制方式产生的已调信号的带宽不同,因此调制影响传输带宽的利用率。
可见,调制方式往往决定一个通信系统的性能。
在本仿真的过程中我们选择用调频调制方法进行调制。
调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。
而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。
在本仿真的过程中我们选择用非相干解调方法进行解调。
2.1FM调制模型的建立
FM调制模型
其中,
为基带调制信号,设调制信号为
设正弦载波为
信号传输信道为高斯白噪声信道,其功率为
。
2.2调制过程分析
在调制时,调制信号的频率去控制载波的频率的变化,载波的瞬时频偏随调制信号
成正比例变化,即
式中,
为调频灵敏度(
)。
这时相位偏移为
则可得到调频信号为
调制信号产生的M文件:
dt=0.001;%设定时间步长
t=0:
dt:
1.5;%产生时间向量
am=15;%设定调制信号幅度←可更改
fm=15;%设定调制信号频率←可更改
mt=am*cos(2*pi*fm*t);%生成调制信号
fc=50;%设定载波频率←可更改
ct=cos(2*pi*fc*t);%生成载波
kf=10;%设定调频指数
int_mt
(1)=0;%对mt进行积分
fori=1:
length(t)-1
int_mt(i+1)=int_mt(i)+mt(i)*dt;
end
sfm=am*cos(2*pi*fc*t+2*pi*kf*int_mt);%调制,产生已调信号
图3FM调制
2.3FM解调模型的建立
调制信号的解调分为相干解调和非相干解调两种。
相干解调仅仅适用于窄带调频信号,且需同步信号,故应用范围受限;而非相干解调不需同步信号,且对于NBFM信号和WBFM信号均适用,因此是FM系统的主要解调方式。
在本仿真的过程中我们选择用非相干解调方法进行解调。
图4FM解调模型
非相干解调器由限幅器、鉴频器和低通滤波器等组成,其方框图如图5所示。
限幅器输入为已调频信号和噪声,限幅器是为了消除接收信号在幅度上可能出现的畸变;带通滤波器的作用是用来限制带外噪声,使调频信号顺利通过。
鉴频器中的微分器把调频信号变成调幅调频波,然后由包络检波器检出包络,最后通过低通滤波器取出调制信号。
2.4解调过程分析
设输入调频信号为
微分器的作用是把调频信号变成调幅调频波。
微分器输出为
包络检波的作用是从输出信号的幅度变化中检出调制信号。
包络检波器输出为
称为鉴频灵敏度(
),是已调信号单位频偏对应的调制信号的幅度,经低通滤波器后加隔直流电容,隔除无用的直流,得
微分器通过程序实现,代码如下:
fori=1:
length(t)-1%接受信号通过微分器处理
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
diff_nsfmn=abs(hilbert(diff_nsfm));%hilbert变换,求绝对值得到瞬时幅度(包络检波)
通过M文件绘制出两种不同信噪比解调的输出波形如下:
图5FM解调
MATLAB源代码
%FM调制解调系统.m
%频率调制与解调的Matlab演示源程序
%可以任意改原调制信号函数m(t)
%****************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;
fori=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);%调制信号
%****************FM解调*******************
fori=1:
length(t)-1%接受信号通过微分器处理
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
diff_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;
ifnargin==2
n1=0;
else
n1=fs/df;
end
n2=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;
ifnargin==2
n1=0;
else
n1=fs/df;
end
n2=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;
fori=1:
length(t)-1%接受信号通过微分器处理
diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;
end
diff_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;%生成含高斯白躁声的已调信号(信号通
%过信道传输)
fori=1:
length(t)-1%接受信号通过微分器处理
diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;
end
diff_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('按任意键可以看到原调制信号、大信噪比高斯白噪声条件下已调信号和解调信号已调信号的曲线')
p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Matlab 模拟 AMFMPM 调制 系统 仿真