现代信息处理技术实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
实验一短时傅里叶变化与小波变换 (1)
一、实验目的 (1)
二、实验内容 (1)
1、短时傅里叶变换 (1)
2、小波变换 (14)
实验二图像处理 (27)
一、实验目的 (27)
二、实验内容 (27)
实验一短时傅里叶变换与小波变换
一、实验目的
1)熟悉并掌握短时傅里叶变换的性质、参数以及不同信号的短时傅里叶变
换;
2)熟悉并掌握小波变换的性质、参数以及不同信号的小波变换。
二、实验内容
1、短时傅里叶变换
a)Matlab中的短时傅里叶变换函数spectrogram
S = spectrogram(x)
S = spectrogram(x,window)
S = spectrogram(x,window,noverlap)
S = spectrogram(x,window,noverlap,nfft)
S = spectrogram(x,window,noverlap,nfft,fs)
调用及参数描述:
window is a Hamming window of length nfft.
noverlap is the number of samples that each segment overlaps. The default.
value is the number producing 50% overlap between segments.
nfft is the FFT length and is the maximum of 256 or the next power of 2 greater than the length of each segment of x. Instead of nfft, you
can specify a vector of frequencies, F. See below for more information.
fs is the sampling frequency, which defaults to normalized frequency
b)短时傅里叶变换
i.正弦信号
1)生成信号长度为1s、采样频率为1kHz、周期分别为0.1s、1s
和10s的正弦信号s,并画出这些正弦信号。
MATLAB程序如下:
运行结果如下:
2)用spectrogram画出这些正弦信号的短时傅里叶变换。
spectrogram(s,hamming(256),255,256,1000);
Matlab程序如下:
运行结果如下:
ii.窗口的影响
1)针对周期为0.1秒的正弦函数,分别调整hamming窗口大小
为32、64、128、256,并画出该正弦信号的短时傅里叶变换。 MATLAB程序如下:
运行结果如下:
分析
短时傅立叶变换基本思想是给信号加滑动时间窗,并对窗内信号做傅立叶变换,得到信号的时变频谱。在短时傅里叶变换过程中,窗的长度决定频谱图的时间分辨率和频率分辨率,窗宽越大,截取的信号越长,信号越长,傅里叶变换后频率分辨率越高(能看到频谱的快变化),时间分辨率越差。也即在实际变换中,时间分辨率和频率分辨率之间不能兼得。
2)针对周期为0.1秒的正弦函数,窗口大小为128,分别调整窗口类型为hamming、rectwin和blackman,并画出该正弦信号的短时傅里叶变换。
MATLAB程序如下:
运行结果如下:
分析
一个窗是否合适:窗谱主瓣宽度就尽可能的窄,且能量集中在主瓣内,以获得较陡的过渡带;窗谱旁瓣与主瓣相比应尽
可能的小,旁瓣能量衰减要快,以利于增加阻带衰耗。 Hamming 窗在频率范围中的分辨率较高,旁瓣衰减较大,主瓣峰值与第一个旁瓣峰值衰减可达40db ,频谱泄露少。频谱中高频分量弱、波动小,得到较平滑的谱。
Rectwin 窗导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。频率识别精度最高,幅值识别精度最低。
Blackman 窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高。
iii. 不同信号的短时傅里叶变换
1) 例四中的离散信号,其前500点是慢变化正弦序列,后500
点是快变化正弦序列,在500点处有断点,画出其短时傅立
叶变换。
MATLAB 程序如下:
运行结果如下
:
()()()⎩⎨⎧=n n n x 3.0sin 03.0sin 1000
5015001≤≤≤≤n n
分析
通过STFT分析,可以清晰地看出此序列频率随时间的变化而变化,前500点慢序列频率较低,后500点快序列频率较高。
2)例五使用STFT分析一个非平稳信号chirp信号
其中n为0~20000的序列。
Matlab程序如下:
运行结果如下:
分析
声音信号本是一维的时域信号,直观上很难看出频率变
化规律。如果通过傅里叶变换把它变到频域上,虽然可以
看出信号的频率分布,但是丢失了时域信息,无法看出频
率分布随时间的变化。如果我们原始信号是非平稳信号
(也即此处的声音信号),那么通过STFT展开得到的二
维信号就是所谓的时频图,时频图中频率幅值随时间的
变化趋势非常清楚地显示了声调。
3)用如下命令读取声音文件sealion.wav,并分别用不同的窗
口进行STFT,并分析哪种窗口效果更好。
MATLAB程序如下: