通信原理综合实验
题目:接收机输入端带通滤波器对信噪比改善的仿真
院系:
专业:
班级:
学号:
姓名:
指导教师:
2011年1月4日------2011年1月15日
题目:接收机输入端带通滤波器对信噪比改善的仿真
一、内容
编写一个MATLAB的M文件完成下面功能:
1、产生一个频率范围(3000Hz,4000Hz)带限信号x(t)和一个均值为0,方差根为0.25的宽带噪声n(t)。
2、假定接收机输入信号为r(t)=x(t)+n(t),计算输入端信噪比。
3、设计一个频率通带范围为(3000Hz,4000Hz)的100阶带通滤波器,计算通过滤波器滤波后信号,计算并画出信号的频谱,并计算出该信号的信噪比。
4、设计一个频率通带范围为(2000Hz,5000Hz)的100阶带通滤波器,计算通过该滤波器滤波后信号,计算并画出信号的频谱,并计算出该信号的信噪比。
二、相关的原理
1、FM调制原理
频率调制的一般表达式[1]为:
(2-1)
FM和PM非常相似,如果预先不知道调制信号的具体形式,则无法判断已调信号是调频信号还是调相信号。
图 2-1
图 2-2
图(2-1)所示的产生调频信号的方法称为直接调频法,图(2-2)所示的产生调频信号的方法称为间接调频法[4]。由于实际相位调制器的调节范围不可能超出
,因而间接调频的方法仅适用于相位偏移和频率偏移不大的窄带调制情形,而直接调频则适用于宽带调制情形。
根据调制后载波瞬时相位偏移的大小,可将频率调制分为宽带调频(WBFM)与窄带调频(NBFM)。宽带与窄带调制的区分并无严格的界限,但通常认为由调频所引起的最大瞬时相位偏移远小于30°时,
(2-2)
称为窄带调频。否则,称为宽带调频。
为方便起见,无妨假设正弦载波的振幅A=1,则由式(2-1)调频信号的一般表达式,得
=
(2-3)
通过化解,利用傅立叶变化公式可得NBFM信号的频域表达式:
(2-4)
在NBFM中,由于下边频为负,因而合成矢量不与载波同相,而是存在相位偏移
,当最大相位偏移满足式(2-2)时,合成矢量的幅度基本不变,这样就形成了FM信号。
图2-3 NBFM信号频谱
2、一些模块的实现
<1> 任意均值、方差的高斯白噪声的实现
可用n=randn(1,n)产生高斯白噪声,用std()函数归一化,再减去其均值(用mean()可求),设a、b分别为均值和方差,构造n=a+b*n即可实现均值为a方差根为b的宽带噪声。
<2> 带限信号的产生
将一单频信号经FM调制(如上所述)展宽带宽后将其通过滤波器即可得到所
需频带范围的信号。
<3> FM调制的实现
FM调制的参数设置:
通信工具箱中,FM调制可用modulate这个函数来实现。其表达式可表示为:
y = modulate(x,fc,fs,'FM')
其中x表示为调制信号,fc为载波频率,fs为y的采样频率,所有频率的单 位都为Hz。fs应大于两倍fc。
<4> 带通滤波器的设计
应用hn=fir1(N,wc,窗函数),来设计(N为滤波器的阶数,wc为带通滤波器的
归一化截止频率wc=[a,b],0
信号通过滤波器
用y=filter(滤波器输入信号,1,hn)可得滤波器的输出信号。
<6> 信噪比的计算
用p=(mean(y)^2)+var(y);计算信号功率px和噪声功率pn,那么信噪比为
Snr=snr=10*log10(px/pn)
3、程序设计思想及流程图
产生题目所要求的噪声noise——>3000Hz-4000Hz的带通滤波器,频谱——>一单频信号经过FM调制成为宽频信号,经3k-4kHz的带通滤波器输出即为频带范围(3000Hz,4000Hz)的带限信号,其信噪比snr——>带限信号加上噪声再通过3k-4kHz的带通滤波器,其频谱,其信噪比snr1——>计一2000Hz-5000Hz的带通滤波器,出频谱——>带限加上噪声再通过3k-4kHz的带通滤波器,其频谱,其信噪比snr2.
四、源程序
%产生方差根为0.25,均值为0的高斯宽带噪声
t=0:0.001:1-0.001; %时间区域
fc=8000; %载波频率
fs=20000; %采样频率
fm=200; %调制频率
noise=randn(1,1024);
noise=noise/std(noise);
noise=noise-mean(noise);
a=0;
b=sqrt(1/16);
noise=a+b*noise; %产生均值为a方差根为b的宽带噪声
figure(1);
subplot(2,2,1);
plot(noise); %噪声时域波形
xlim([0 1000]);
title('噪声时域波形');
xlabel('t/s');
g=fft(noise,1024);
freq22=(0:length(g)-1)*fs/length(g);
subplot(2,2,2);
plot(freq22,abs(g)); %噪声频谱
title('噪声频谱');
xlabel('f/Hz');
xlim([-100 5000]);
%通过FM调制得到宽频信号
N1=1024;
n1=0:N1-1;
t1=n1/fs;
x1=sin(2*pi*fm*t1); %调制信号
x2=20*modulate(x1,fc,fs,'FM'); %FM调制
subplot(2,2,3);
plot(t1,x2); %FM调制后时域波形
xlim([0 0.02]);
ylim([-25 25]);
title('FM调制后波形');
xlabel('t/s');
b=fft(x2,1024);
freq1=(0:length(b)-1)*fs/length(b);
subplot(2,2,4);
plot(freq1,abs(b)); %FM调制后频谱
title('FM调制后频谱');
xlabel('f/Hz');
%设计一个频率范围为(3000Hz,4000Hz)的100阶带通滤波器
figure(2);
wlp=3000*2*pi;whp=4000*2*pi;
N2=101;
wc=[wlp/(2*pi*10000)-1/N2,whp/(2*pi*10000)+1/N2];
hn=fir1(N2-1,wc,hamming(N2)); %产生滤波器的函数
hw=fft(hn,1024);
w=[0:1023]*2/1024;
subplot(3,3,1);
plot(w*10000,20*log10(abs(hw))); %3k-4k带通滤波器频谱
xlim([2000 5000]);
ylim([-55 10]);
title('3000-4000Hz带通滤波器频谱');
xlabel('f/Hz');
%x2通过频带为3000-4000Hz带通滤波器得到频带3000-4000Hz的带限信号
y=filter(x2,1,hn); %滤波
[H1,w1]=freqz(y);
o=length(y);
y1=[y]; %给y补0
for k=1:(1024-o),
y1=[y1,k*0];
end
p=length(y1);
subplot(3,3,2);
plot(w1*10000/pi,abs(H1)); %3k-4k带限信号频谱