数字信号处理大作业Word文件下载.docx
《数字信号处理大作业Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理大作业Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
具体的操作流程如下:
一、对给定的音频信号进行解压,转化成时域数字信号;
二、将整段时域数字信号中的12个脉冲串进行分段,并对各个脉冲串进行加窗处理,这里选择Hanning窗,将每个脉冲串从噪声中分离出来;
三、设计带通滤波器,通带频率3-8kHz,选择两边的过渡带宽为0.9kHz,通带衰减不大于1dB,阻带衰减不小于20dB;
四、对加入带通滤波器以后的信号,进行傅里叶变换,得到每个脉冲串的频谱;
五、依据每个脉冲串的频谱,通过求均值的方法,估计信号的频率,并分析各个脉冲串的频率与最终所估计的信号频率的偏离程度。
现对上面的操作流程进行具体的分析和说明。
1.音频信号解压
通过MATLAB程序对音频信号进行解压,得到音频的采样时间为5.46s,采样频率为48kHz,时域图如图1-1所示。
横坐标为时间,单位为s;
纵坐标为幅值,单位为V。
图1-1音频信号的时域图
解压的程序为:
clc;
clear;
closeall
[a,fs]=wavread('
C:
\Users\administrator\Desktop\研一大作业\good5.wav'
);
N=262080;
t1=N/fs;
t=(0:
t1/(N-1):
t1);
figure
(1)
plot(t,a);
title('
Timedomainfigure'
)
xlabel('
Time(s)'
ylabel('
Amplitude'
2.信号加窗
在本节中对时域信号中包含的12个脉冲串进行分段,再进行加窗处理,得到各个脉冲段原始时域信号,以及加窗过滤掉噪声后的时域信号,这里选择Hanning窗。
如图2-1到图2-12所示。
图2-1脉冲1加窗前后的时域图
图2-2脉冲2加窗前后的时域图
图2-3脉冲3加窗前后的时域图
图2-4脉冲4加窗前后的时域图
图2-5脉冲5加窗前后的时域图
图2-6脉冲6加窗前后的时域图
图2-7脉冲7加窗前后的时域图
图2-8脉冲8加窗前后的时域图
图2-9脉冲9加窗前后的时域图
图2-10脉冲10加窗前后的时域图
图2-11脉冲11加窗前后的时域图
图2-12脉冲12加窗前后的时域图
分段和加窗程序如下:
a1=a((4.94*fs):
(5.38*fs),:
Ns=0.44*fs+1;
ts=(0:
1/fs:
0.44);
figure
(2);
subplot(3,1,1);
plot(ts,a1);
12thplusetimedomainfigure'
r=hanning(Ns);
subplot(3,1,2);
plot(ts,r);
hanningwindowtimedomainfigure'
b=a1.*r;
subplot(3,1,3);
plot(ts,b);
12thplusetimedomainfigure(withhanningwindow)'
grid
holdon
3.带通滤波器设计
在本节中,设计通带频率3-8kHz,通带衰减不大于1dB,阻带衰减不小于20dB的带通滤波器。
具体设计流程如下:
1)选择两边的过渡带宽为0.9kHz,滤波器的序列点数为128;
2)利用MATLAB程序中buttord的命令计算巴特沃斯模拟带通滤波器的阶数和截止频率;
3)利用MATLAB程序中butter的命令计算滤波器传递函数多项式系数;
4)利用命令impinvar,即冲激响应不变法实现模拟滤波器和数字滤波器之间的变换;
5)利用设计好的数字滤波器对信号进行滤波。
带通滤波器设计的程序如下:
wp=[30008000]*2*pi;
ws=[21008900]*2*pi;
rp=1;
rs=20;
Nn=128;
%滤波器的序列点数
[n,wn]=buttord(wp,ws,rp,rs,'
s'
%计算模拟滤波器的阶数和截止频率
[B,A]=butter(n,wn,'
%计算滤波器传递函数多项式系数
[BZ,AZ]=impinvar(B,A,fs);
%模拟滤波器和数字滤波器的转换
figure(4);
freqz(BZ,AZ,Nn,fs)
y=filtfilt(BZ,AZ,b);
figure(3);
subplot(2,1,1);
subplot(2,1,2);
plot(ts,y);
12thplusetimedomainfigure(withbandpassfilter)'
设计的带通滤波器的图形如下:
图3-1带通滤波器的频率特性
通过对每个脉冲串加入带通滤波器,得到如下的时域结果。
见图3-2到图3-13所示,横坐标为时间,单位为s;
图3-2脉冲1加入带通滤波器前后的时域图
图3-3脉冲2加入带通滤波器前后的时域图
图3-4脉冲3加入带通滤波器前后的时域图
图3-5脉冲4加入带通滤波器前后的时域图
图3-6脉冲5加入带通滤波器前后的时域图
图3-7脉冲6加入带通滤波器前后的时域图
图3-8脉冲7加入带通滤波器前后的时域图
图3-9脉冲8加入带通滤波器前后的时域图
图3-10脉冲9加入带通滤波器前后的时域图
图3-11脉冲10加入带通滤波器前后的时域图
图3-12脉冲11加入带通滤波器前后的时域图
图3-13脉冲12加入带通滤波器前后的时域图
4.频谱分析
通过MATLAB编写傅里叶变换的程序,对每一个脉冲串进行傅里叶变换,得到它们的频谱图,并由各个脉冲串的频谱图,得到各个脉冲串的中心频率。
具体如图4-1到图4-12所示。
横坐标为频率,单位为Hz;
图4-1脉冲1加入带通滤波器前后的频谱图
图4-2脉冲2加入带通滤波器前后的频谱图
图4-3脉冲3加入带通滤波器前后的频谱图
图4-4脉冲4加入带通滤波器前后的频谱图
图4-5脉冲5加入带通滤波器前后的频谱图
图4-6脉冲6加入带通滤波器前后的频谱图
图4-7脉冲7加入带通滤波器前后的频谱图
图4-8脉冲8加入带通滤波器前后的频谱图
图4-9脉冲9加入带通滤波器前后的频谱图
图4-10脉冲10加入带通滤波器前后的频谱图
图4-11脉冲11加入带通滤波器前后的频谱图
图4-12脉冲12加入带通滤波器前后的频谱图
通过观察图4-1到图4-12可知,整段信号中12个脉冲串的中心频率。
定义脉冲1到脉冲12的中心频率为f1、f2、f3、f4、f5、f6、f7、f8、f9、f10、f11和f12,则f1=5665Hz,f2=7047Hz,f3=5660Hz,f4=6983Hz,f5=7882Hz,f6=6989Hz,f7=7884Hz,f8=7022Hz,f9=6987Hz,f10=5716Hz,f11=7021Hz和f12=6822Hz。
5.频率估算和偏差计算
在第4节中,已经得到了整段信号中12个脉冲串的中心频率,现通过求均值的方法,估算信号的频率,具体的计算公司如下:
(5-1)
利用公式5-1计算可得,信号的频率f=6806.5Hz
选择方差这个量来衡量估算的信号频率与12个脉冲串的中心频率的偏离程度。
方差的计算公式如下:
(5-2)
利用公式5-2计算可得,方差为s2=530995.9。
这个结果说明估算的信号频率与12个脉冲串的中心频率的偏离程度较大。