手机版

信号的高斯噪声滤波

发布时间:2024-08-29   来源:未知    
字号:

4)编写MATLAB程序,计算在的加性高斯白噪声环境下,

幅度为0.3,频率为10Hz的

正弦信号通过50Hz低通滤波器的情况(考虑采样时间为Ts=1ms)

,绘制输出信号波形与功率谱。

提示:低通滤波器可以采用数字滤波器

编写.m文件rand_noise

高斯白噪声的均值为 0,噪声平均功率 ^2= 0*B=fs/2,其中 B 是叠加于信道的高斯白噪声的带宽, 0为单边功率谱密度。

fs=1000; %采样频率为 1000Hz

x=(0:1/fs:2);

产生10Hz正弦波: y=0.3*sin(2*pi*10*x); %频率10HZ的正弦信号

叠加高斯噪声

a=0; %高斯白噪声的均值为 0

b=sqrt(N0*fs/2);%噪声平均功率σ^2=N0*B=N0*fs/2,B为高斯白噪声的带宽

n=2/1*Fs+1;样本点数

noise=a+b*randn(1,n); %高斯白噪声

y_noise=y+noise; %加入高斯噪声

正弦信号y=0.3*sin(2*10*pi*x)

0.5

-0.5

0.5

-0.5

0.5

-0.500.20.40.60.811.21.41.61.82高斯白噪声00.20.40.60.811.21.41.61.82加入高斯白噪声后的正弦信号00.20.40.60.811.21.41.61.82

wc=50*2/Fs; %得到中心截止频率wc

[Bz,Az]=butter(10,wc,'low'); %得出数字滤波器系统函数的分子,分母系数矩阵B,A

[Hw,w]=freqz(Bz,Az,100); %求频率响应函数,横坐标0-pi

figure(3);plot(w/pi,abs(Hw));,title('50Hz,0.1滤波器频率响应函数');

Y = filter(Bz,Az,y_noise); %讲系统函数的分子分母矩阵输入到函数filter中 subplot(3,1,2);plot(Y);title('滤波后的正弦信号');

R=xcorr(y_noise)/(n*Fs/2); %得到自相关函数

Ns=n*2-1;

Pxx=fft(R,Ns);

%自相关函数fft变换后即为功率谱密度函数

50Hz,0.1滤波器频率响应函数

2

1

0.5

-0.5

-50

-10000.10.20.30.40.50.60.70.80.91滤波后的正弦信号05001000150020002500正弦波除噪后的功率谱01002003004005006007008009001000

%或直接调用函数

%[Pxx1,f1]=pmtm(Y,2,500,Fs);figure(7);plot(f1,10*log10(abs(Pxx1)));

-20

-40

-60

-80

-100

-120050100150200250300350400450500

信号的高斯噪声滤波.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)