数字信号处理中求频谱图与滤除噪声的问题
来源:互联网 发布:项目管控软件 编辑:程序博客网 时间:2024/05/21 06:12
对语音信号添加噪声并滤除噪声,但是比较不好的是滤完噪声后声音也变低沉了。
要注意的两点:
1.关于频谱图的绘制问题,这里用的格式是:
X=fft(x);
t1=(0:length(x)-1)*fs/length(x)-fs/2;
plot(t1,fftshift(abs(X)));
2.关于低通滤波器的设计和添加噪声的问题要熟练。
由于信号是被fs采样得到的,不能直接plot(X),或者直接求其幅度谱(都不能说明问题)
错误代码1:
[x,fs,bits]=wavread('009.wav');
%sound(x,fs,bits);
X=fft(x);
magX=abs(X);
figure(1);
subplot(2,1,1);
plot(x);title('原始语音信号时域波形');
subplot(2,1,2);
plot(magX);title('原始语音信号的频谱');
其实并不能称为频谱,只能称为幅度谱,且采样之后的周期延拓很明显。
错误代码2:
[x,fs,bits]=wavread('009.wav');
%sound(x,fs,bits);
X=fft(x);
figure(1);
subplot(2,1,1);
plot(x);title('原始语音信号时域波形');
subplot(2,1,2);
plot(X);title('原始语音信号的频谱');
这种直接求得fft的频谱,还不明白为什么会这样。
正确代码:
[x,fs,bits]=wavread('009.wav');
%sound(x,fs,bits);
X=fft(x);
t1=(0:length(x)-1)*fs/length(x)-fs/2;
figure(1);
subplot(2,1,1);
plot(x);
axis([0,400000,-2,2]);
title('原始语音信号时域波形');
subplot(2,1,2);
plot(t1,fftshift(abs(X)));title('原始语音信号的频谱');
%添加噪声
N=length(x);
noise=0.3*randn(size(x));
x1=x+noise;
X1=fft(x1);
t2=(0:length(x1)-1)*fs/length(x1)-fs/2;
%sound(x1,fs,bits);
figure(2);
subplot(2,1,1);
plot(x1);title('加噪语音信号时域波形');
subplot(2,1,2);
plot(t2,fftshift(abs(X1)));title('加噪语音信号的频谱');
%低通滤波
Wp=500/(fs/2);Ws=1000/(fs/2);Rp=1; Rs=10;
[N,Wn]= Buttord(Wp,Ws,Rp,Rs) ;
[B,A]=Butter(N,Wn,'low');
m0=filtfilt(B,A,x1);
mx=fft(m0);
t3=(0:length(m0)-1)*fs/length(m0)-fs/2;
%sound(m0,fs,bits);
figure(3);
subplot(2,1,1);
plot(m0);title('低通滤波后的信号');
subplot(2,1,2);
plot(t3,fftshift(abs(mx)));title('低通滤波后的频谱');
这个才是正确的频谱。
- 数字信号处理中求频谱图与滤除噪声的问题
- 数字信号的频谱与数字信道的特性
- 信号完整性分析—数字信号的频谱与带宽
- 噪声振动频谱分析与实例
- 数字信号处理与数字信号处理器
- 数字信号处理中常用的matlab函数
- 数字信号处理中卷积的计算
- 数字信号处理中卷积的直观理解
- 滤除音频文件背景噪声
- FPGA与数字信号处理
- OpenCv,椒盐噪声的生成与处理
- Matlab--现代数字信号处理--白噪声时域分析
- 求各位大侠帮个忙啊,用FFT计算频谱的问题
- 数字信号处理的理论体系
- 数字信号处理的主要内容
- 数字信号处理-C语言数字信号的产生
- 数字信号处理中为什么要加窗
- C语言与数字信号处理——均匀分布的随机数
- poj3468——by rfy
- 按键去抖动防反跳技巧
- 跟张志东深聊,腾讯的“进化力”
- 美国航空航天四大机构报告(PB报告、AD报告、NASA报告和DOE报告)
- Vmware 8安装Mac Lion狮子系统 总结
- 数字信号处理中求频谱图与滤除噪声的问题
- hdu1018(解题报告)
- apue和unp的学习之旅06——简单引出进程和信号的学习
- meta 之 viewport
- delphi数据类型表
- wikioi天梯之1075 明明的随机数
- Android eye detection updated for OpenCV 2.4.6
- 又是一年WWDC,暨回顾去年之旅——Part I
- hdu 1693 插头DP