浅谈频率归一化问题
一、问题来源
在用matlab处理声音信号时,读入的声音存入一个矩阵中。这些离散的数据可以很好的用信号与系统的工具处理。但是,在涉及到实际的问题时,总会有类似这样的要求:设计一个4kHz的低通滤波器。问题由此产生。
在信号与系统课程中,离散的信号都是在t为整数的情形下的一些取值。在这种情况下,读入的信号经过fft变换后,变成了:
exp(j*k/N*2*pi*n)
这样的形式。由:
exp(j*w*n)
的频率是
abs(w)/(2*pi)
可以得到以上的傅里叶变换的频率是从0到(N-1)/N,再由:
exp(j*n) =exp(j*(n+2*pi)
可以得到最高的频率出现在w=pi处。
问题是,即使最高的频率也仅仅是1/2罢了,如何与要求的4kHz对应呢?
二、归一化
问题的来源就是采样了。我们假设信号发生在t为整数的时刻,然而事实并非如此。设采样频率为fs,则每秒内会有fs个信号发生。那么,真正的各个频率成份应该是计算出来的频率乘以fs(因为实际比假设快了fs倍)。于是,实际的频率成份是从0到fs/2了(这一点符合采样定理)。
那么,对于给定的频率fc,如何计算对应的公式exp(j*k/N*2*pi*n)中的k呢?由以上的推理可知:
k = fc / (fs/ 2) * l / 2= fc / fs * l
上式就是归一化了(fs / 2代表最高频率成份)。
三、归一化的应用
由于现在正处于课程设计阶段,在此公布matlab代码有代人写作业的嫌疑,因此这部分以后补齐。