如果在这个函数输入变量的最后,加一个变量‘s’,比如:
[b,a]=butter(n,wc,’s’)。表示设计的是模拟滤波器,详细的使用方法,可以用 help
butter 阅读。
除了巴特沃思滤波器(butter), IIR 滤波器还有切比雪夫 I(cheby1)、
切比雪夫 II(cheby2)和椭圆滤波器(ellip),可以使用 help 学习他们的使用方法。
滤波功能可以使用 filter 函数实现:
c=filter(b,a,y);
其中,[b,a]对应所使用滤波器的系统函数的分子和分母多项式的系数,比如,
上面设计巴特沃思滤波器所得到的系数[b,a]。y 是需要被滤波的信号。c 是滤波
后的结果信号。
傅里叶变换可以使用 fft 函数实现。调用格式是
Y=fft(y,n);
其中,y 是需要观测频谱的时域离散信号,n 是变换点数,当 y 的点数小于 n 时
y 后面补 n-y 个零。Y 是变换得到的频谱。离散信号的频谱是周期的,周期为
2pi。使用函数 fft 得到的频谱范围是[0~2pi],当需要观看[-pi ~ pi]的频谱时,可
以使用函数 fftshift 来转换实现。调用方法是:yy=fftshift(Y);
其中,Y 是 fft 得到的[0~2pi]范围的频谱,yy 是转换得到的[-pi ~ pi]的频谱。
音频文件的读取可以使用 wavread 函数实现,其调用方法为:
[y,Fs,bits]=wavread('filename');
其中,返回值 y 是音频数据,Fs 为采样音频数据时使用的采样频率,bits 为每
个采样样本的比特数。
播放音频数据可以使用 sound 函数,调用方法为:
sound(y,Fs,bits); 注意采样频率 Fs 要设置正确,否则音乐会变调。
四、相关函数
[b,a]=butter(n,wc);
c=filter(b,a,y);
[H,w]=freqz(b,a);
Y=fft(y,n);
yy=fftshift(Y);
[y,Fs,bits]=wavread('filename');