数字信号的 DFTDCT 及频域滤波Word格式文档下载.docx
- 文档编号:18438433
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:16
- 大小:571.51KB
数字信号的 DFTDCT 及频域滤波Word格式文档下载.docx
《数字信号的 DFTDCT 及频域滤波Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数字信号的 DFTDCT 及频域滤波Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
其有快速算法FCT(可由FFT计算得到)。
1D-DCT
矩阵形式:
F=Gf,f=GTF
2D-IDCT
三、巴特沃思(Butterworth)低通滤波器
BLPF传递函数
这里D0为截止频率,n为阶数。
当D(u,v)=D0时,H(u,v)降为最大值的50%。
P、Q意义如前所述
四.实验步骤
1、1D数字信号的FFT及频谱分析
给定如下式
(1)所示的1D连续信号:
(1)设采样频率fs=1000Hz,对信号x进行离散化,并画出一个周期内的信号振幅随时间变化的波形图。
(2)对离散信号x进行傅立叶变换,分别画出频谱中心化及有效频率范围(不含负频)2种方式下的幅值(|F(u)|)随频率(u)变化的分布图,要求纵横坐标正确标注物理量和单位。
(3)对式
(1)信号,加随机噪声,重复步骤
(1)和
(2)的处理过程。
(4)通过对变换结果的分析,说明采样频率fs、奈奎斯特(Nyquist)频率(fn)及采样时间间隔△T三者之间的相互关系,并简要描述模拟信号的采样定理
2、数字音频信号的DFT
(1)读取一段0.5s的预先录制的数字音频信号(“yes.wav”或“no.wav”文件中任选其一),画出随时间变化的声波波形图,如图3-1所示。
(2)对数字音频信号进行离散傅立叶变换(DFT),分别画出频谱中心化及有效频率范围(不含负频)2种方式下的幅值(|F(u)|)随频率(u)变化的分布图,要求纵横坐标正确标注物理量和单位。
3、数字音频信号的DCT和IDCT
(1)对图3-1中的音频信号做离散余弦变换(DCT),画出DCT变换系数(变换结果)图,并对变换结果进行必要的解释,说明DCT变换的主要用途。
要求按DCT原理自行编写实现代码,不允许直接调用MATLAB的dct()函数。
(2)按原理自行一段MATLAB代码,对第
(1)步处理结果进行离散余弦反变换(IDCT),将计算结果与原始音频信号进行比较,检验编写代码的正确性。
(3)编写一段MATLAB代码,利用快速傅立叶变换(FFT)程序实现快速DCT算
法(FCT),并将计算结果与直接调用dct()的处理结果进行比较,检验编写代码的正确性。
(已布置课程作业,这里作为选作实验!
)
4、综合应用题:
实际信号的频谱分析及频域滤波
(1)从保存在本地磁盘的文本文件中读入一实际数字信号,该磁盘文件名为:
“seismic.txt”,已知该信号的时间采样率为dt=2ms。
文件中的信号由301
个等长的按列排列的一维列信号组成,每个一维列信号有251个采样点,信号实际计时起点为1800ms,延时长度为L=(251-1)*2ms=500ms。
请读出其中的某一列信号,并画出该信号振幅随时间变化的波形图,以ms为时间单位。
(2)对第一步中抽取的其中一列信号做快速傅里叶变换(FFT),分别画出频谱中心化的对称频谱和只含有正半抽的信号频谱图,并对该信号做简要的频谱分析。
要求规范的标注纵横坐标实际物理量和对应的单位。
(3)设定截止频率D0=100,试在同一张图上以不同线型画出n=1,2,4阶下的巴特沃思(Butterworth)低通滤波器(一维)的频率响应曲线。
要求标注规范地纵横坐标实际物理量和对应的单位。
其中,D0为截止频率,N为滤波器长度,n为滤波器阶数。
(4)选择合适的D0,利用上述2阶Butterworth低通滤波器,对第
(1)步读取的列信号进行滤波实验。
并分析截止频率对滤波效果的影响。
五.实验结果及分析
加噪声之后:
结果分析:
对比两张图可以看多唯一的区别是加噪声图片在频率为0Hz左右振幅变大。
二、数字音频信号的DFT
结果如下:
从图中可以看出编写的一维DCT函数与直接调用dct()函数效果几乎一样。
Butterworth低通滤波器(一维)的频率响应曲线
2阶Butterworth低通滤波器对数据进行分析:
从图中可以看出截止频率小的滤波器滤波效果要好。
六.实验心得体会和建议
(1)、直接调用滤波函数的效果不是很好。
很多好的函数还是得自己写出来才行。
(2)、实验开始的时候要看清楚给的数据需要用的是一味CDT还是二维DCT变换。
因为我在看是的时候用的是二维的DCT变换结果得到的结果差不多。
这也是我的疑问。
七.程序源代码
clc;
clf;
clearall;
closeall;
fs=1000;
%采样频率(设定,Hz)
N=128;
%采样点数(可任意设定),Suchas64,128,256,...
n=0:
N-1;
%样点序列(矢量)
t=n/fs;
%时间序列(矢量)
%输入信号
x=2*sin(30*pi*t)+0.5*cos(120*pi*t)+4*sin(240*pi*t)+rand();
%多分量信号
subplot(411),plot(t,x,'
.'
);
%原始信号
title(['
原始信号:
'
'
N='
num2str(N),'
points'
]);
xlabel('
时间/s'
ylabel('
振幅'
xlim([0max(t)]);
y=fft(x,512);
%对输入信号的FFT
mag=abs(y);
%FFT幅值(未中心化)
y=fftshift(y);
%频谱中心化,matlab内部函数
mag0=abs(y);
%FFT幅度(中心化)
M=length(y);
%FFT频率轴点数(maybedifferent)
df=fs/(M-1);
%频率步长
f=(0:
M-1)*df;
%频率采样序列(矢量)
fchar=num2str(fs);
%采样率转化为char(本文)
nchar=num2str(M);
%样点数转化为char(本文)
ltext=strcat('
fs='
fchar,'
Hz'
N='
nchar,'
%拼接title字符
subplot(412),plot(f,mag);
%随频率变化的振幅
频率/Hz'
全部频率:
ltext]);
gridon;
f0=f-f(M/2+1);
subplot(413),plot(f0,mag0);
对称频率:
xlim([-fs/2,fs/2]);
subplot(414),plot(f(1:
M/2),mag(1:
M/2));
%绘制有效频谱
有效频率:
xlim([0,fs/2]);
clc,clf,clearall,closeall;
[x,fs]=audioread('
yes.wav'
N=length(x);
%x=2*sin(30*pi*t)+0.5*cos(120*pi*t)+4*sin(240*pi*t);
%多分量信号
subplot(411),plot(t,x);
y=fft(x,N);
3.数字音频信号的DCT和IDCT
clc,clf,clear,close;
[X,fs]=audioread('
[m,n]=size(X);
AM=zeros(m,m);
AN=zeros(n,n);
fori=0:
m-1
forj=0:
ifi==0
AM(i+1,j+1)=sqrt(1/m)*cos(((2*j+1)*i*pi)/(2*m));
else
AM(i+1,j+1)=sqrt(2/m)*cos(((2*j+1)*i*pi)/(2*m));
end
end
X=double(X);
%注意变换后的矩阵数据类型为double
Y=AM*X;
Y1=AM'
*Y;
%实现DCT逆变换
M=length(Y);
%FFT频率轴点数
subplot(3,1,1)
plot(f,Y);
title('
DCT图像'
subplot(3,1,2)
plot(f,Y1);
IDCT的图像'
Y2=dct(X);
subplot(3,1,3)
plot(f,Y2);
直接调用dct()函数的图像'
I=importdata('
seismic.txt'
y=I(:
2);
dt=2;
fs=1/0.002;
L=251;
t0=1800;
L=(251-1)*dt;
t=1800:
2:
2300;
subplot(311),
plot(t,y);
时间/ms'
原始数据图像'
y=fft(y,2*L);
y0=fftshift(y);
M=length(y0);
subplot(312),plot(f0,y0);
对称频谱图:
subplot(313),plot(f(1:
M/2),y(1:
只含正半轴频谱图:
Butterworth)低通滤波器(一维)的频率响应曲线。
D0=100;
x=0:
50:
30000;
[M,N]=size(x'
N1=fix(M/2);
n=[1,2,4];
y=zeros(3,M);
h=zeros(1,M);
forj=1:
3;
fori=1:
M
d=sqrt((i-N1)^2);
h(i)=1/(1+(d/D0)^(2*n(j)));
y(j,:
)=h;
plot(x,y(1,:
));
holdon
plot(x,y(2,:
plot(x,y(3,:
频率/HZ'
增益'
Butterworth低通滤波器(一维)的频率响应曲线'
gtext('
一阶曲线'
)
二阶曲线'
四阶曲线'
2阶Butterworth低通滤波器,
subplot(411),
y=fftshift(y);
[M,N]=size(y);
subplot(412)
plot(f,y);
FFT变换所得频谱图'
D0=50;
n=2;
fori=1:
h=1/(1+(d/D0)^(2*n));
y1(i,1)=h*y(i,1);
subplot(413)
plot(f,y1);
Butterworth低通滤波所得曲线图1:
D0=50HZ'
D0=200;
subplot(414)
Butterworth低通滤波所得曲线图:
D0=200HZ'
四、思考题
1.分别阐述和解释什么叫信号的采样频率、奈奎斯特(Nyquist)频率、时间采样率及频率分辨率?
答:
采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数。
奈奎斯特频率是离散信号系统采样频率的一半,因哈里·
奈奎斯特或奈奎斯特-香农采样定理得名。
采样定理指出,只要离散系统的奈奎斯特频率高于被采样信号的最高频率或带宽,就可以真实的还原被测信号。
反之,会因为频谱混叠而不能真实还原被测信号
采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。
通俗的讲采样频率是指计算机每秒钟采集多少个声音样本。
频率分辨率:
可以理解为在使用DFT时,在频率轴上的所能得到的最小频率间隔f0=fs/N=1/NTs=1/T,其中N为采样点数,fs为采样频率,Ts为采样间隔。
所以NTs就是采样前模拟信号的时间长度T,所以信号长度越长,频率分辨率越好。
2.根据所学知识,简要叙述离散傅立叶变换(DFT)和离散余弦变换(DCT)在数字信号处理中的主要用途。
DFT是现代信号处理的基础,应用非常广泛,比如自适应滤波器啊,阵列信号处理、正交频分复用等等都用的到。
离散余弦变换(DCT)用于语音信号和图像信号的变化处理。
3.简要叙述频率滤波与时域滤波在处理上有什么不同。
时域的卷积是在空间上图像矩阵进行卷积运算,这种过程,用一般的编程工具,就是双重嵌套循环,所以执行会比较耗时。
频域的话要先进行傅里叶变换,变换了之后,其实就是和相关的算子进行乘积运算,这个过程肯定比上述的卷积运算快很多。
但频域的处理较之时域的处理多了傅里叶和逆向傅里叶的计算,这部分开销同样也比较大的。
但频域的处理有时域不能比拟的优势,就是对于不规则的噪声值,通过傅里叶变换可以得到很好的平滑效果;
但相应的,时域在边缘提取上,要比频域的处理更优秀。
4.实验内容1中,式
(1)表示的信号是平稳信号还是非平稳信号,简要说明平稳信号和非平稳信号的区别
平稳信号
平稳信号即其一阶矩为常数,二阶矩与信号时间的起始点无关,只和起始时间差有关。
非平稳信号是指分布参数或者分布律随时间发生变化的信号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号的 DFTDCT 及频域滤波 数字信号 滤波