作业帮 > 数学 > 作业

就是关于巴特沃斯滤波器的程序的编写.

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/12 03:07:24
就是关于巴特沃斯滤波器的程序的编写.
我们要做个题目...是用巴特沃斯滤波器对语音信号进行滤波.3、\x05设计巴特沃斯(切比雪夫或椭圆)滤波器.利用buttord计算滤波器阶数:[N,Wn] = buttord(Wp,Ws,Rp,Rs);利用butter计算滤波器系数:[b,a] = butter(N,Wn).
根据人的声音的特点,设计出不同截止频率的滤波器:(以下参数在带入MATLAB中时,均需要规一化)
低通:Wp=1000Hz;Ws=1200Hz;
高通:Wp=2000Hz;Ws=1600Hz;
带通:Wp=[1000Hz 2000Hz];Ws=[800Hz 2500Hz];
阶数那些是根据什么来算?是下面给出的数据?RP跟RS又怎么确定?想问下.能附上程序跟说明么?
设计滤波器只要完成这两步就可以了,得到合适的b和a就算设计完了.
[N, Wn] = buttord(Wp, Ws, Rp, Rs);[b,a] = butter(N,Wn)
但是已知条件中的Wp和Ws是不能直接代入的,必需转换
Wp=Wp*2/fs;Ws=Ws*2/fs;这就是所谓的归一化.fs是信号的采样频率.如果题目中没有给出,可以根据人声特点取44100Hz.如果题目中给了,就用题目的采样频率.
Rp和Rs如果题目没有给,可以自己指定.一般可选Rp=1,Rs=40
高通,和上面过程一样
带通,过程一样,Wp=[1000 2000] Ws=[800 2500]
再问: 带通的里面...应该怎么写入程序格式咧?难道用.还是其他的什么?而且我最开始用的wavrecord里面设置的是uint8的格式...后面利用filter滤波器会提示我underfinded functiong。。。这个又是什么问题咧?
再答: 程序是一样的,只要把原来的比如Wp=1000换成Wp=[1000 2000],Ws=1200Hz换成 Ws=[800 2500]就行了呀
再问: 请问。。。。加入随机噪声....应该怎么写咧- -...
再答: 如果x是原始信号,a=0.5是随机信号的比例系数,xnew是加了随机噪声后的信号。 xnew=x+a*randn(size(x)) 如果觉得噪声大小不合适,可以改变a的大小
再问: 能麻烦你帮我写一段程序么?设置一个高斯白噪声.....SNR为6.....然后跟频率为8000的余弦函数相乘以后....与原始函数y相加.....原始函数的采样频率为8K....最后再设计一个高通或者低通滤波器将噪声滤掉....得到原来的函数Y.....
再答: 你对这个题目的表述有问题,包括高斯白噪声本身没有SNR的概念,8000余弦和采样频率8k矛盾等等。请贴个原始题目的图片上来
再问: 原始语音信号y=wavrecord(fs*3,fs,'double')。。。。采样频率为8000HZ...现在要求为原始语音信号加入高频噪音....再设计合适的滤波器滤掉噪声.....滤波器的话....尽量采用filter吧- -...别的我不太懂。