FIR数字滤波器(滤除指定噪音)

目录

一、绪论:

(一)题目:

(二)关键知识点:

​编辑

二、方案论证

2.1 思路分析

2.2 方案选择

三、课程的具体设计及实现

3.1算法原理简介

3.2 编程实现

3.3 实验及数据分析

3.3.1初始信号运行结果:

3.3.2 加入了噪声后声音信号运行结果与区别分析

 3.3.3 滤波器的设计

四、结论

五、参考文献

一、绪论:

(一)题目:

1.录制自己的音频,读入音频文件作为输入信号,使用频谱分析技术对声音信号频谱进行分析。

2.绘制原始音频信号x(t)波形,估计时域信号的幅度、频率等;绘制原始音频信号x(t)频谱,以及信号频谱图。

3.加入噪声。对已有音频信号加入噪声,再绘制加入噪声后音频信号的频谱图。

4.观察:分别观察对音频信号加入噪声波形的变化、听觉上的不同,以及频谱分布的区别。

5.实验并思考:滤波器的截止频率的选择。

6.设计报告格式要规范,要明确阐述实现的原理、方法、步骤,分析造成差异的原因,通过进一步仿真实验验证自己的结论,实验数据要具有完整性,要能充分说明本设计的正确性、先进性。

(二)关键知识点:

  1. matlab运用:MATLAB是美国MathWorks公司出品的商业数学软件,软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
  2. 音频信号输入:audioread('a.wav')函数读取音频文件。
  3. FFT:即快速傅里叶变换,采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少。
  4. 噪声生成:randn(N,1)就是产生服从方差为1,均值为0 ( 即N(0,1) )的Gaussian分布的NX1随机噪音矩阵。
  5. 截止频率:电子滤波器等信号传输通道中的诸如低通、高通、带通、带阻等频带特性都应用了截止频率的概念。截止频率有时被定义为电子滤波器的导通频带和截止频带的交点。

二、方案论证

2.1 思路分析

2.2 方案选择

 理论原理:

对声音进行滤波主要是根据原始声音信号与噪声声音信号的频率不同,保留原始声音信号的主要频率范围,而过滤掉噪声声音信号的频率范围。因此关键是对声音信号进行时域与频域的转化,并对频域做出处理。主要用到离散傅里叶变换(DFT).

在添加噪声信号时,我们小组考虑了两种噪声信号,分别为单频干扰噪声与高斯随机噪声,因两种噪声差异明显,能分别代表不同情况,故没有进行取舍,而是都进行了实验,以求得到一个更普遍的结论。

         在进行滤波时,考虑了FIR滤波器与IIR滤波器,因FIR具有线性相位、容易设计的优点,且教材所给资料为FIR滤波器资料,故最终决定选用FIR滤波器。

实现的技术方法:matlab语言、FFT算法、单频干扰噪声信号、高斯随机噪声信号、FIR滤波   器设计

设计开发所用的工具与平台:电脑、MATLAB

三、课程的具体设计及实现

3.1算法原理简介

  1. 先用audioread('a.wav')函数读入音频文件,得到音频矩阵矢量x与采样频率fs,取x的第一列,根据x序列长度(抽样点数)和采样频率计算出其时间长度t,然后以t为横坐标画出时域信号;
  2. 再用fft( )函数对x进行离散傅里叶变换(DFT)得X,绘制频谱图。(下图为DFT变换公式)。

  1. 信号频谱图绘制原理——FFT算法

(1)FFT是利用计算机计算离散傅里叶变换(DFT)的高效、快速计算方法的简称。

(2)核心思想:利用复指数序列的性质将DFT定义式进行并项和化简,从而将N点的DFT计算分解为两个N/2点的DFT计算,并且这种分解可以依次进行下去,直至分解为2点DFT。这样,N点的DFT计算可以从2点DFT算起,利用迭代过程直至算出N点DFT。

  1. 噪音的加入,采用信号的叠加,生成加入噪音后的信号
  2. 噪音信号的选择,采用了正弦声音信号与高斯随机噪声信号
  3. FIR滤波器的设计:采用了滤波器设计函数fir2与数字滤波函数filte。

FIR的特点:(1)系统的单位冲击响应在有限个n值处不为零。(2)对于稳定系统,系统函数在lz l>0处收敛,极点全部在z=0处。(3)结构上主要是非递归结构,没有输出到输入的反馈,但在个别结构中(如频率抽样结构)也包含反馈的递归部分。

3.2 编程实现

%读入音频
[x,fs]=audioread('D:\作业\大二\信号与系统\新录音 19.wav'); % 读取音频文件中的数据,并返回样本数据x以及该数据的采样频率fs。
x=x(:,1); % 读入信号为列矩阵,从中取出第一列(声道中的第一个声道)
x=x';  %将x由列矢量转置成习惯上的行矢量
%player=audioplayer(x,fs);%创建用于播放音频的对象
%play(player);%播放音频
 
%绘制时域信号
N=length(x); %x的长度(抽样点数)
n=0:N-1; %采样点序列
t=n/fs; %时间点序列(也表示音频时长)
figure(1); %创建窗口1
subplot(3,2,1);plot(t,x);grid on; %绘制时域信号
title('初始信号时域波形'); %图像名称
xlabel('时间'); %横轴标志
ylabel('幅值'); %纵轴标志
 
%绘制频域信号
X=fft(x); %对时域信号x进行离散傅里叶变换得频域信号X
fm=n/N*fs; %原始信号的不同模拟频率分布
subplot(3,2,2);plot(fm,abs(X));grid on; %绘制原始信号频谱波形,横坐标为模拟频率
title('初始声音信号频谱'); %图像名称
xlabel('模拟频率/Hz'); %横轴标志
ylabel('幅度'); %纵轴标志
axis([0 fs/2 0 300]); %展示物理谱范围内的频谱图
%axis( [xmin xmax ymin ymax] ),设置当前二维图形对象的 x 轴 和 y 轴的取值范围 

%加入噪音
fn=3000; %加入噪声信号的模拟频率
% y=x+0.1.*sin(fn*2*pi*t); %y为加入单频干扰信号后的音乐,加入的为正弦信号
y=x+0.1*randn(1,N);% 也可使用randn函数产生一个与音频信号等长度的高斯随机噪声信号(噪声大小取决于随机函数的幅度倍数)
% sound(y,fs);%播放增加正弦信号噪音后的声音
subplot(3,2,3);plot(t,y);grid on; %将时域信号绘制在画布上
title('加入噪音后的时域波形'); %图像名称
xlabel('时间'); %横轴标志
ylabel('幅值'); %纵轴标志
Y=fft(y); %对加噪后的信号y进行离散傅里叶变换
subplot(3,2,4);plot(fm,abs(Y));grid on; %绘制加噪后的频谱波形,横坐标为模拟频率
title('加入噪音后的信号频谱');
xlabel('模拟频率/Hz');
ylabel('幅度');
axis([0 fs/2 0 300]); %展示物理谱范围内的频谱图



%设计滤波器-单频干扰噪声
f1=800; %取模拟通带截止频率f1=800Hz
f2=2000; %取阻带边界频率f2=2000Hz
%将模拟频率映射到[0,1]区间求数字频率
F1=f1/(fs/2); 
F2=f2/(fs/2); 
Fc=(F1+F2)/2; %取截止频率Fc为F1和F2中点

% % 设计滤波器-高斯随机噪声
% f1=800; %取模拟通带截止频率f1=800Hz
% f2=1000; %取阻带边界频率f2=1000Hz
% %将模拟频率映射到[0,1]区间求数字频率
% F1=f1/(fs/2); 
% F2=f2/(fs/2); 
% Fc=(F1+F2)/2; %取截止频率Fc为F1和F2中点

%设定数字滤波器参数
frange=[0,Fc,Fc,1];
hval=[1,1,0,0];
b=fir2(300,frange,hval);
[H,W]=freqz(b,1);
figure(2);%新建2号窗口显示滤波器特性
plot(W/pi,abs(H));grid on;
title('低通滤波器的幅频特性');

%进行滤波
figure(1); %绘制在1号窗口上
z=filter(b,1,y); %对加噪信号y进行滤波
subplot(3,2,5);plot(t,z);grid on;%绘制滤波后信号的时域图
xlabel('时间');
ylabel('幅度');
title('低通滤波后的信号波形');
Z=fft(z); %对滤波后信号进行傅里叶变换
subplot(3,2,6);plot(fm,abs(Z));grid on;%绘制滤波后信号的频域图
xlabel('模拟频率/Hz');
ylabel('幅度');
title('低通滤波后的信号频谱');
player=audioplayer(z,fs);%创建用于播放音频的对象
axis([0 fs/2 0 300]); 
play(player);%播放音频

3.3 实验及数据分析

3.3.1初始信号运行结果:

时域波形

(1)幅度:幅度在正负0.1之间,肉眼可以看出大概有9段幅度由大变小的波形(音频里实际说了九个字)。

(2)频率:大概分布在1000hz左右

信号频谱

由图可以直观看出,在低频部分频率分量高,高频部分频率分量低,可见该声音信号

为低频信号。将图进一步放大,可以看到,声音信号的频率主要分布在0-800Hz。

 将频域图放大后

3.3.2 加入了噪声后声音信号运行结果与区别分析

1. 加入单频干扰信号时

加入正弦信号噪音

(1)听觉上,在原始声音中出现一条贯穿信号始终的“ding”的声音,依旧可以听出原始声音信号的主要信息。

(2) 时域上,原始信号波形被x轴一分为二,从中间插入了幅度恒为0.1,且频率很高的一段波形,原始信号波形分布在了该波形上下两侧。

(3)频域上,在3000Hz处出现了一条无穷大的直线。

2. 加入高频随机噪声时

加入高斯随机噪声信号

(1) 听觉上:会听到更加嘈杂的声音层,几乎听不出原始声音信号。

  (2) 时域上,时域上完全观察不出原始波形,从幅度与稠密程度看,波形比原始信号均匀了许多,谱线也浓密了许多,幅度也有所增大。

  (3) 频域上,除去频率很低部分幅度很大的原始频率分量,在其他频率区间上几乎均匀分布着幅度参差不齐但相差不大的波形,将原始频域波形掩盖,可见噪声在各个频率域上都有分布。

观察到的频谱图变化与我们的目的是一致的,加噪成功。

 3.3.3 滤波器的设计

选用FIR低通滤波器,一般将理想低通截止频率放在过渡带中点的位置。

理想低通滤波器的设计步骤:

  1. 根据应用需求确定模拟通带截止频率f1与阻带边界频率f2(二者组成过渡带);
  2. 选择模拟理想低通滤波器的截止频率fc=(f1+f2)/2;
  3. 计算fc对应的数字频率Fc。
  1. 噪声为单频干扰信号时:

截止频率

(1)原始信号的主要模拟频率主要分布在0-800Hz,模拟通带截止频率f1=800Hz

(2)单频干扰信号的模拟频率为3000Hz,所以应该对其使用低通滤波器,通低频阻高频,阻带边界频率f2<3000Hz, 取f2=2000Hz

(3)取fc=(f1+f2)/2=1400Hz,转换为[0,1]区间上的数字频率为:Fc=fc/(fs/2)=0.0583

实验验证:

低通滤波器的幅频特性图

滤波前后时域、频域对比图

由图可以看出,滤波后信号能较好恢复原始信号波形,达到滤波目的。

2.噪声为高斯随机噪声时:

(1)噪声信号的频率在各个频率范围内均匀分布,原始信号主要分布在0-800Hz,要想滤除高斯噪声而保留原始信号,也要选用低通滤波器

(2)模拟通带截止频率f1应大于等于800Hz,阻带边界频率应大于800Hz且靠近800Hz,取f1=800Hz,阻带边界频率f2=1000Hz

(3)取fc=(f1+f2)/2=900Hz,转换为[0,1]区间上的数字频率为,Fc=fc/(fs/2)=0.0375

实验验证:

低通滤波器的幅频特性图

滤波前后时域、频域对比图

由图可以看出,滤波后信号能较好恢复原始信号波形,达到滤波目的。

四、结论

(一)、原始信号的分析:

1.时域上:参差不齐,肉眼可看出大概有九段幅度由高变低的波形。

2.频域上:低频部分频率分量高,高频部分频率分量低,可见该声音信号为低频信号,主要频率分量在0-800Hz。

(二)、加噪前后信号的对比分析:

加入3000Hz强度为0.1的单频噪声时:

1.听觉上:出现“ding”的一声;

2.时域上:每个采样点幅度绝对值增加1,幅度正负一之间波形变密,频率增加,原始信号波形被拦腰截断分布到正负一上下两侧。

3.频域上:频域上在3000Hz处出现了一条无穷大的直线。

加入强度为0.1的高斯随机噪声时:

1.听觉上:会听到更加嘈杂的声音层,几乎听不出原始声音信号。

2.时域上:观察不出原始波形,幅度均匀了许多且有所增大,谱线浓密了许多。

3.频域上:低频部分幅度很大的原始频率分量依然保留,在其他频率区间上原始频域波形被几乎均匀分布着幅度参差不齐但相差不大的波形掩盖。

(三)、截止频率的选择:

加入3000Hz强度为0.1的单频噪声时:

选择模拟频率为1400Hz(对应数字频率为0.0583)的截止频率。

加入强度为0.1的高斯随机噪声时:

选择模拟频率为900Hz(对应数字频率为0.0375)的截止频率。

选择依据:

滤波器设计阻带要包含尽可能多的噪声信号频率,通带要包含尽可能多的原始信号频率,截止频率fc就要处在通带截止频率f1与阻带边界频率f2 之间的过渡带,一般选在过渡带的中点。

(四)、其他

噪声与原始信号频率相差较大时较好分离滤波,相差较小或重合时,不好分离滤波。

五、参考文献

CSDN:《Matlab中fft函数详解》、《十分简明易懂的FFT(快速傅里叶变换)》

《信号与系统》课本:《4.3-离散傅里叶变换》、《4.4-离散时间系统与连续时间系统》、《数字滤波-FIR滤波器》、《4.6-MATLAB实践》

知乎:《基于Matlab的语音去噪处理》

樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2008.

皇甫堪,陈建文,楼生强.现代数字信号处理[M].北京:电子工业出版社,2003.

吴红卫,吴镇扬,赵力.基于多窗谱的心理声学语音增强[J].声学学 报,2007,32(3):275-281.

猜你喜欢

转载自blog.csdn.net/m0_64054405/article/details/128400960