通信系统MATLAB仿真实验FALLWord文件下载.docx
《通信系统MATLAB仿真实验FALLWord文件下载.docx》由会员分享,可在线阅读,更多相关《通信系统MATLAB仿真实验FALLWord文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
![通信系统MATLAB仿真实验FALLWord文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/7/5b54c30f-0304-4883-a2c4-2bec23d4acb3/5b54c30f-0304-4883-a2c4-2bec23d4acb31.gif)
1/fs:
0.1;
%仿真时间长度0.1s
mt=sin(2*pi*fm*t);
%基带信号,可选多音调制比如mt=sin(2*pi*fm*ts)+cos(2*pi*3*fm*ts)
s_am=(mt+A0).*sin(2*pi*fc*t);
观察调制信号波形
plot(t,s_am)
观察调制信号频谱
periodogram(s_am,[],'
twosided'
[],1/ts);
%有关此函数的用法参考matlab随机帮助文档
思考题:
看到的谱线如何?
如何观察到更清晰的谱线?
1.2信号在信道中传输
仅考虑加性高斯白噪声信道。
信号在高斯白噪声信道中传输时会叠加高斯白噪声,这里介绍两种叠加高斯白噪声的方法。
利用randn或wgn函数产生与信号长度相同的白噪声序列
函数randn(1,N)产生1行N列互不相关的、均值为零、标准差为1的高斯随机数,N等于输入信号的长度,也意味着采样频率与信号的采样频率相同,如果信号的采样频率为fs,则噪声单边功率谱密度
其中Bn=fs/2为噪声带宽,这里需要区别所加噪声功率与解调器输入噪声功率.解调器输入噪声功率是经过带通滤波以后的噪声功率Ni=N0B,B为信号带宽,B<
Bn.噪声功率就是其方差,改变噪声功率可以通过给所有的采样值乘以一个系数(标准差来完成),例如:
产生方差为1的高斯噪声:
x=randn(1,N);
产生方差为4的高斯噪声:
x=2*randn(1,N);
%可以利用matlab函数var(x)来验证x的方差.
利用Matlab提供的函数awgn
awgn函数的用法为:
y=awgn(x,snr);
x.为输入信号,snr为信噪比,单位是dB.如果x是复数,awgn加复噪声.这种用法假定x的功率是0dBW.(1w)
信号功率x(单位w)与dBW的关系是:
dBW=10log10(x/1w).
y=awgn(x,snr,sigpower);
x,snr同上,sigpower指定信号功率,单位是dBW.
y=awgn(x,snr,'
measured'
);
让Matlab自动测量信号功率。
代码举例如下
nt=randn(1,length(t));
%产生高斯白噪声,功率1w(假定单位电阻上的功率)
r_am=s_am+nt;
%思考题:
假定负载是1ohm的电阻。
信号表示的是电压,单位是伏,信号的功率是多少,换算成dBW
此时的信噪比是多少,
利用awgn函数的代码例子如下
r_am=awgn(s_am,3,’measured’);
%snr=3dB,自动测量信号功率
可用plot函数观察信号和噪声的混合波形。
1.3AM信号相干解调
相干解调原理如图1-2。
这里重点介绍滤波器设计,Matlab提供了非常丰富的滤波器设计手段,在通信系统中为了避免信号失真,一般采用线性相位滤波器,数字系统里的线性相位滤波器通常采用FIR形式,这里只介绍其中一种滤波器设计函数:
’fir1’.
图1-2相干解调原理框图
滤波器设计
fir1函数的一般用法:
b=fir1(n,n);
b:
输出的滤波器系数
n:
输入的滤波器阶数
如果是标量,设计出的是低通滤波器,截至频率为n。
如果是两个元素的矢量n=[12],设计出的是带通滤波器,通带为1≤≤2。
为归一化的频率,取值[0,1]。
归一化可以理解为实际频率与采样频率的一半的比值。
例如设计一个48th-阶的FIR带通滤波器,通带为0.35≤≤0.65
b=fir1(48,[0.350.65]);
用freqz函数显示其频率与相位响应
freqz(b,1,512);
%freqz函数的用法参考matlab帮助文档
结果如下图:
图1-3带通滤波器的频率与相位响应
滤波器阶数n的选取与要求的过渡带宽度和阻带衰减值有关。
Matlab也提供一种滤波器设计的图形用界面,在matlab的命令窗口输入fdatool即可打开该界面。
滤波操作由filter函数实现,具体语法为:
y=filter(b,a,X);
y:
滤波器输出。
x:
滤波器输入。
滤波器分子多项式系数。
a:
滤波器分母多项式系数,对于FIR滤波器,a=1。
AM信号的相干解调:
%设计带通滤波器:
bp=fir1(48,[0.2,0.3]);
%观察带通滤波器的频率响应
freqz(bp,1,512)
%观察滤波前信号的频谱
periodogram(r_am,[],'
512,fs)
%带通滤波
r=filter(bp,1,r_am);
periodogram(r,[],'
%相干解调
r=r.*cos(2*pi*fc*t);
%下变频
b=fir1(48,0.1);
%设计低通滤波器
freqz(b,1,512)%观察滤波器的特性
r=filter(b,1,r);
%低通滤波器
plot(r)%显示输出波形.
AM信号的包络检波法解调:
%带通滤波
r=filter(bp,1,r_am);
%整流
r=abs(r);
%低通
r=filter(b,1,r);
plot(r)%显示输出波形.
将调制信号频率改为40Hz,重复上述调制解调过程,在实验报告中描述你遇到的问题以及你的解决办法.
2DSB信号的调制解调
自行设计DSB调制解调系统,比较信道信噪比为[0,5,10,15]dB时的解调器输出信号质量
3SSB信号的调制解调
fs=800;
%采样频率
%载波频率
fm=40;
%信号频率
t=0:
2;
%信号持续时间
mt=cos(2*pi*fm*t);
%产生基带信号
%设计低通滤波器,保留上边带
b=fir1(48,0.25);
%查看滤波器的频率响应’
freqz(b,1,512)
%产生双边带调制信号
s_dsb=mt.*cos(2*pi*fc*t);
%滤波法形成单边带信号
s_ssb=filter(b,1,s_dsb);
%查看单边带信号的波形
plot(s_ssb)
%查看单边带信号的频谱
periodogram(s_ssb,[],'
%信道加噪声
r=awgn(s_ssb,100,'
);
%plot(r)
%设计带通滤波器
bp=fir1(48,[0.15,0.25]);
%思考题通带频率范围是多少?
freqz(bp,1,512)
periodogram(r,[],'
%滤波
r=filter(bp,1,r);
figure
(2)
相干解调
r=r.*cos(2*pi*fc*t);
%设计低通滤波器
b=fir1(48,0.12);
%思考题滤波器截至频率是多少?
freqz(b,1,512)
%观察输出信号波形.
plot(r)
思考题:
1,将调制信号频率分别改为10Hz,5Hz,观察调制信号波形,如何调整模型参数才能得到质量更好的单边带调制信号.
2,编写用移相法形成单边带信号的matlab代码.
4模拟调频系统
4.1信号调制:
FM信号的瞬时频率f(t)与基带信号m(t)呈线性关系,即:
(1-2)
Fc是固有角频率,Kf是调频器灵敏度,单位是Hz/秒·
伏。
其瞬时相角
(1-3)
0为载波的初始相位,不失一般性,可以认为0=0,上式说明FM波的瞬时相角与m(t)的积分呈线性关系。
于是FM波的表达式为
(1-4)
FM信号产生的matlab代码如下,设调制信号为单一频率的正弦波,fm=1Hz,载波频率为10Hz:
fm=1;
%基带信号频率1Hz
fc=10;
%载波频率10Hz
fs=100;
%采样频率100Hz
5;
%时间5秒
kf=3;
%调频灵敏度
%基带信号
mt_integral=cumsum(mt)/fs;
%调制信号的时域积分
s_fm=sin(2*pi*fc*t+kf*mt_integral);
%产生FM信号
观察基带信号与调频波间的关系:
plot(t,s_fm);
holdon
plot(t,mt_integral,'
r'
)
xlim([0,2]);
ylim([-2,2])
FM信号通过AWGN信道
r_fm=awgn(s_fm,10,’measured’);
1
2
3
4
4.1
4.2FM信号解调
采用鉴频器法解调FM信号。
鉴频器原理如图1-4:
图1-4鉴频法解调FM信号的原理框图
设计带通滤波器:
bp=fir1(48,[0.1,0.3]);
r_fm=filter(bp,1,r_fm);
%微分
r_fm=diff(r_fm)*fs;
%整流
r_fm=abs(r_fm);
%设计地通滤波器
lp=fir1(48,0.05);
低通滤波
rs=filter(lp,1,r_fm);
%观察输出波形
plot(rs)
1.在高信噪比条件下,观察解调信号的质量如何,给出提高解调信号质量的方案并编写相应的代码验证你的方案?
2.在0~20dB的信噪比范围内,观察解调信号质量的变化。
实验二 无线计算器
综合应用所学知识,设计无线数字传输系统,加深对通信原理所涉及内容的理解。
实验内容:
利用声音波段作为载波,设计一个基于两台电脑和两个耳麦的无线数据传输系统。
在电脑A上输入一系列命令,对其作编码调制后,通过耳麦传送到电脑B,电脑B执行命令后将结果返回到电脑A。
实验平台:
1.两台普通个人电脑;
2.2个低质量耳麦,分别连接到一台电脑上;
3.应用软件:
Matlab
技术指标:
1.在“发送电脑”上输入一个整数四则运算式(+、-、*、/),运算式中数字为0~10000的整数。
输入完成后,这个算式通过耳麦被传输到“接收电脑”上,“接收电脑”对算式进行处理后将正确的结果同样通过耳麦返回到“发送电脑”上,“发送电脑”对此接收后显示结果。
2.在算式输入完毕后1秒钟内要将结果显示出来。
如果在传输过程中出现错误,要能自动进行重传。
重传N次,最长的等待时间就为N秒。
3.两个耳麦的距离为10cm.
4.传输时,声卡上所有的音量(录、放)都将调为最大值。
5.使用Matlab时用M文件编写,每台电脑上只允许运行一个Matlab进程。
各小组负责短距离无线计算器的开发,所要求的产品是由一系列实现无线计算服务的MATLAB函数组成。
最终的产品应提供一批m-文件,这些m-文件能在一台标准电脑上作为发射机或接收机运行。
可能用到的函数
键盘输入:
input
显示:
disp
输入声音信号:
wavrecord
声音播放:
wavplay,sound