生活随笔
收集整理的這篇文章主要介紹了
随机信号通过带通滤波器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
隨機信號通過帶通濾波器
題目描述:
信號為兩個正弦信號之和,一個振幅為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');
仿真結果如下:
總結
以上是生活随笔為你收集整理的随机信号通过带通滤波器的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。