音讯处理二.PPTVIP

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
音讯处理二

音訊處理簡介 傅立葉轉換與濾波器之應用 清大資工系 多媒體資訊檢索實驗室 傅立葉轉換 將訊號轉換成不同頻率的正(餘)弦波疊加的方法 假設x(n)是原訊號,X(k)是轉換後的結果: 可使用Matlab的fft或SAP toolbox內的fftOneSide進行轉換 轉換的結果,稱之為頻譜 X為長度512的向量,分別平均對應到0~16000的頻率 t = linspace(0, 1, 16000); % fs is 16000 x = sin(2*pi*440.*t); % 440 Hz 的正弦波 X = fft(x(1:512)); plot(abs(X), .-); 傅立葉轉換 藉由頻譜的不同,可以辨別出不同的聲音 [y1 fs nbits] = wavread(clarinet.wav); [y2 fs nbits] = wavread(violin.wav); frameSize = 512; Y1 = fft(y1(8000:8000+frameSize-1)); Y2 = fft(y2(8000:8000+frameSize-1)); freqStep = fs/frameSize; freq = freqStep*(0:frameSize/2); figure; subplot(2,1,1); plot(freq, abs(Y1(1:257)), .-); subplot(2,1,2); plot(freq, abs(Y2(1:257)), .-); 傅立葉轉換 將頻譜並排起來,就是頻譜圖: [y fs] = wavread(ㄚ、ㄧ、ㄨ、ㄝ、ㄛ.wav); frameMat = buffer2(y, 512, 0); magSpec = fftOneSide(frameMat, fs); powerSpecInDb = 20*log(magSpec); subplot(2,1,1); x = (0:length(y)-1)./fs; plot(x, y); axis tight subplot(2,1,2); imagesc(powerSpecInDb); axis xy; 傅立葉轉換 執行結果: 濾波器 一個濾波器,可以用兩個向量a和b來代表 a = [1, a2, a3, ..., ap] b = [b1, b2, b3, ..., bq]; 如果應用到訊號裡面,則可表示如下 y[n] = b1x[n] + b2x[n-1] + ... + bqx[n-q+1] - a2y[n-1] - a3y[n-2] - ... - apy[n-p+1] 可使用filter函式,來計算濾波後的結果 濾波器 如果: a = [1]; b = [0.2 0.2 0.2 0.2 0.2]; 則: y[n] = 0.2x[n] + 0.2x[n-1] + ... + 0.2x[n-4] 相當於五點求平均 較尖銳、變化劇烈的部分會變平滑 高頻部分會被壓低→低通濾波器 濾波器應用 範例:低通濾波器 [x fs nbits] = wavread(movie.wav); a = [1]; b = [0.2 0.2 0.2 0.2 0.2]; y = filter(b, a, x); wavwrite(y, fs, nbits, result.wav); time = (1:length(x))/fs; subplot(2,1,1); plot(time, x); title(Original signal); subplot(2,1,2); plot(time, y); title(Output signal); 濾波器應用 範例:高通濾波器 [x fs nbits] = wavread(movie.wav); a = [1]; b = [1 -1]; % y[n] = x[n] - x[n-1] % 變化劇烈的訊號(即高頻訊號),其差異會被突顯出來 y = filter(b, a, x); wavwrite(y, fs, nbits, result.wav); time = (1:length(x))/fs; subplot(2,1,1); plot(time, x); title(Original signal); subplot(2,1,2); plot(time, y); title(Output signal); 濾波器應用 範例:單次回音器 [x fs nbits] = wavread(movie.wav); delay = 0.2; gain = 0.7; a = [1]; b = [1 zeros(1, delay*fs-1) gain]; % y[n] = x[n] + gain*

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档