随机信号通过带通滤波器

随机信号通过带通滤波器

题目描述:
信号为两个正弦信号之和,一个振幅为1,频率为60Hz,另一个振幅为0.5,频率为40Hz;加性噪声是均值为0,方差为4的高斯白噪声,一起调制到9.5kHz的载波上,经过带宽为200Hz、中心频率为9.5kHz的带通系统,求输出信号的功率谱估计。采样频率取20kHz,滤波器阶数选200。
题目分析:仿真思想非常容易理解,废话不多说,直接上代码,不懂的部分请看代码注释:

fs=20000;               %采样频率
f0=9500;                %中心频率
N=50000;                %仿真点数 
deltf=200;              %带宽
M=200;                  %滤波器阶数
f1=60;                  %双音信号的频率
f2=40;
t=0:1/fs:(N-1)/fs;      %时间序列
x0=sin(2*pi*f1*t)+0.5*sin(2*pi*f2*t);%原始信号
x=x0+random('norm',0,2,1,N);%原始信号叠加高斯噪声
xt=x.*cos(2*pi*f0*t);   %调制
f1=f0*2/fs;
df1=deltf/fs;
ht=fir1(M,[f1-df1,f1+df1]);%加带通滤波器
X=conv(xt,ht);          %经过滤波器之后的输出
t=0:1/fs:(N+M-1)/fs;
Nt=X.*cos(2*pi*f0*t);   %解调
h1=fir1(M,deltf/fs);    %加低通滤波器
N1=N+M;
Hw=fft(h1,N1);
Ntw=fft(Nt,N1);
RXw=(abs(fft(X,N1))).^2/N1;  %解调前功率谱密度
RYw=(abs(Ntw.*Hw)).^2/N1;    %解调后功率谱密度
maxw=max(max(RXw),max(RYw));
RXw=10*log10(RXw/maxw+0.001);%归一化解调前功率谱密度
RYw=10*log10(RYw/maxw+0.001);%归一化解调后功率谱密度
f=fs/N1:fs/N1:fs/2;
subplot(121);                %对比功率谱密度变化
plot(f,RXw(1:N1/2));
axis([9100  9900  -30  0]);
title('spectrum density');
xlabel('frequency/Hz');ylabel('Amplitude/dB');
subplot(122);
plot(f,RYw(1:N1/2));
axis([0 200  -30  0]);
title('spectrum density after demodulation')
xlabel('frequency/Hz');ylabel('Amplitude/dB');

仿真结果如下:
在这里插入图片描述

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值