0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MATLAB的數(shù)字濾波器語(yǔ)音信號(hào)去噪

思沉淵 ? 來(lái)源:思沉淵 ? 作者:思沉淵 ? 2024-10-10 18:22 ? 次閱讀

1.1設(shè)計(jì)目標(biāo)
(1)利用Windows下的錄音或其他軟件,采集一段語(yǔ)音信號(hào),名為“add.wav”,利用MATLAB中的audioread命令對(duì)該信號(hào)進(jìn)行采樣;
(2)根據(jù)語(yǔ)音信號(hào)的頻率圖選擇合適的單頻噪聲;
(3)根據(jù)加入的噪聲選擇合適的濾波器
(4)利用設(shè)計(jì)好的濾波器濾除加入的高頻噪聲,得到原語(yǔ)音信號(hào)。

利用的是用漢明窗函數(shù)法設(shè)計(jì)出FIR低通濾波器。

(1)程序代碼
Fs=22050;
[y,Fs] = audioread('E:shukdrightadd.wav');
N=length(y); %采樣點(diǎn)數(shù)
y=y(:,1);
Z=fft(y,1200);
Z=abs(Z);%取絕對(duì)值,只顯示y軸的正半軸
f=(Fs/1630)*[1:1630];
figure(1);
subplot(2,1,1);plot(y);xlabel(‘t’);title('原始信號(hào)時(shí)域波形圖');
subplot(2,1,2);plot(f(1:800),Z(1:800));xlabei(‘Hz’)
title('原始語(yǔ)音信號(hào)采樣后的頻譜圖');
%sound(y, Fs) %聽(tīng)原始音頻
%單頻噪聲
t=0:length(y)-1;
zs=0.1*cos(2*pi*10000*t/2100);
zs0=0.1*cos(2*pi*10000*t/200000000);
zs1=fft(zs,1200);
zs1=abs(zs1);
figure(2);
subplot(2,1,1)
plot(zs0)
title('噪聲信號(hào)波形');
subplot(2,1,2)
plot(f(1:800),zs1(1:800));
title('噪聲信號(hào)頻譜');
%加噪聲
x1=y+zs';
y1=fft(x1,1200);
y1=abs(y1);
figure(3);
subplot(2,1,1);plot(x1);
title('加入噪聲后的信號(hào)波形');
subplot(2,1,2);
plot(f(1:800),y1(1:800));
title('加入噪聲后的信號(hào)頻譜');
%sound(x1,Fs); %回放加入噪聲后的語(yǔ)音

%濾波器FIR濾波器 漢明窗
fp1=9500; % 通帶和阻帶頻率
fs1=10000;
wp1=2*pi*fp1/Fs;
ws1=2*pi*fs1/Fs;
deltaw=ws1-wp1;%過(guò)渡帶寬
N0=ceil(6.6*pi/deltaw);
N=N0+mod(N0+1,2); %為實(shí)現(xiàn)FIR類(lèi)型1偶對(duì)稱(chēng)濾波器,應(yīng)確保N為奇數(shù)
windows=hamming(N);%使用哈明窗,此句可省略
wc=(ws1+wp1)/2;
b=fir1(N-1,wc/pi,windows);%用fir1函數(shù)求系統(tǒng)函數(shù)系數(shù),windows可省略
[db,mag,pha,grd,w]=freqz_m(b,1);
n=0:N-1;dw=2*pi/1000;
Rp=-(min(db(1:wp1/dw+1))); %檢驗(yàn)通帶波動(dòng)
As=-round(max(db(ws1/dw+1:501))); %檢驗(yàn)最小阻帶衰減
figure(4);
subplot(2,1,1);plot(w/pi/2*Fs,db);axis([0,Fs/2,-200,10]);
title('幅度頻率響應(yīng)');
xlabel('頻率(單位:Hz)');ylabel('H(e^{jomega})');
set(gca,'XTickMode','manual','XTick',[0,fp1,fs1,15000]);
set(gca,'YTickMode','manual','YTick',[-100,-50,-3,0]);grid
subplot(2,1,2);plot(w/pi/2*Fs,pha);axis([0,Fs/2,-4,4]);
title('相位頻率響應(yīng)');
xlabel('頻率(單位:Hz)');ylabel('phi(omega)');
set(gca,'XTickMode','manual','XTick',[0,fp1,fs1,15000]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid
%濾波
h1=filter(b,1,x1);% 用filter函數(shù)進(jìn)行濾波
X1=fft(h1,1200);
X1=abs(X1);
figure(5);
subplot(211);plot(h1);title('濾波后時(shí)域圖');xlabel('t');
subplot(212);plot(f(1:800),X1(1:800));title('濾波后頻譜圖');
xlabel('頻率(Hz)');

%sound(y, Fs); %聽(tīng)原始音頻
%sound(x1,Fs); %回放加入噪聲后的語(yǔ)音
%sound(h1,Fs); %聽(tīng)去噪音頻
% clear sound %%終止播放

(2)運(yùn)行結(jié)果展示
N =293
Rp =0.0269
As = 54

wKgZoWcHqe-AN7SDAF_SzB7ijzg758.png

wKgZoWcHqhOAPpMEAFTzL06AMGA178.png

但是太久了具體細(xì)節(jié)我也記得,有啥問(wèn)題,自己摸索一下,嘿嘿嘿嘿,對(duì)了,音頻文件的位置要跟代碼寫(xiě)的一樣,不然軟件會(huì)找不音頻的。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • matlab
    +關(guān)注

    關(guān)注

    181

    文章

    2960

    瀏覽量

    229996
  • 濾波器
    +關(guān)注

    關(guān)注

    160

    文章

    7698

    瀏覽量

    177405
  • 數(shù)字濾波器
    +關(guān)注

    關(guān)注

    4

    文章

    267

    瀏覽量

    46968
  • 語(yǔ)音信號(hào)
    +關(guān)注

    關(guān)注

    3

    文章

    69

    瀏覽量

    22812
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Matlab語(yǔ)音信號(hào)濾波器的設(shè)計(jì)與實(shí)現(xiàn)

    、設(shè)計(jì)內(nèi)容:  以Matlab實(shí)現(xiàn)語(yǔ)音信號(hào)的低通濾波器設(shè)計(jì)為例:  ?。?)語(yǔ)音信號(hào)的采集 利用Windows下的錄音機(jī),錄制一段自己的話(huà)音,時(shí)間在1 s內(nèi)。然后在
    發(fā)表于 01-13 11:12

    請(qǐng)問(wèn)如何設(shè)計(jì)IIR數(shù)字濾波器

    濾波器MATLAB怎么設(shè)計(jì)?編寫(xiě)VHDL語(yǔ)言代碼有哪些注意事項(xiàng)?一般IIR數(shù)字濾波器該怎么設(shè)計(jì)?以低通
    發(fā)表于 04-14 06:22

    數(shù)字濾波器Matlab設(shè)計(jì)與應(yīng)用

    :數(shù)字濾波數(shù)字信號(hào)處理中占有極其重要的地位,并且被廣泛應(yīng)用。研究了在Madal〕環(huán)境下FIR數(shù)字濾波器的設(shè)計(jì)方法以及FIR濾波器信號(hào)
    發(fā)表于 01-06 17:05 ?30次下載

    數(shù)字濾波器的結(jié)構(gòu)

    數(shù)字網(wǎng)絡(luò)的信號(hào)流圖表示 IIR數(shù)字濾波器的結(jié)構(gòu) FIR數(shù)字濾波器的結(jié)構(gòu)數(shù)字濾波器的格形結(jié)構(gòu)
    發(fā)表于 01-07 10:24 ?30次下載

    數(shù)字濾波器MATLAB 設(shè)計(jì)與DSP 上的實(shí)現(xiàn)

    以窗函數(shù)法設(shè)計(jì)線(xiàn)性相位FIR 數(shù)字濾波器為例,介紹用MATLAB 工具軟件設(shè)計(jì)數(shù)字濾波器的方法和在定點(diǎn)D S P 上的實(shí)現(xiàn)。實(shí)現(xiàn)時(shí),先在C C S 5 0 0 0 仿真開(kāi)發(fā), 然后將程序加載到TMS320VC5409
    發(fā)表于 05-15 14:30 ?39次下載

    基于Matlab數(shù)字濾波器的設(shè)計(jì)與應(yīng)用研究

    基于Matlab數(shù)字濾波器的設(shè)計(jì)與應(yīng)用研究摘 要:數(shù)字濾波語(yǔ)音和圖像處理、模式識(shí)別、譜分析等應(yīng)用中的一個(gè)基本處理算法,在數(shù)字信號(hào)處理中占
    發(fā)表于 05-14 14:05 ?72次下載

    MATLAB輔助設(shè)計(jì)IIR數(shù)字濾波器

    MATLAB輔助設(shè)計(jì)IIR數(shù)字濾波器摘 要:論述了用MATLAB求解IIR數(shù)字濾波器系數(shù)的原理和函數(shù)以及這些函數(shù)的使用方法,并給出設(shè)計(jì)實(shí)例以供參考。關(guān)鍵詞:
    發(fā)表于 05-14 14:08 ?76次下載

    數(shù)字濾波器的設(shè)計(jì)實(shí)驗(yàn)

    數(shù)字濾波器的設(shè)計(jì)實(shí)驗(yàn) 一. 數(shù)字濾波器設(shè)計(jì):(1) 數(shù)字濾波器設(shè)計(jì)步驟:a. 整理給定的濾波器設(shè)計(jì)要求
    發(fā)表于 10-30 13:34 ?5688次閱讀
    <b class='flag-5'>數(shù)字濾波器</b>的設(shè)計(jì)實(shí)驗(yàn)

    數(shù)字濾波器,數(shù)字濾波器原理是什么?

    數(shù)字濾波器,數(shù)字濾波器原理是什么? 在信號(hào)處理領(lǐng)域中,對(duì)于信號(hào)處理的實(shí)時(shí)性、快速性的要求越來(lái)越高。而在許多信息處理過(guò)程中
    發(fā)表于 03-24 14:06 ?2.9w次閱讀

    數(shù)字濾波器MATLAB與DSP上設(shè)計(jì)實(shí)現(xiàn)

    數(shù)字濾波器MATLAB與DSP上設(shè)計(jì)實(shí)現(xiàn) 概述:以窗函數(shù)法設(shè)計(jì)線(xiàn)性相位FIR數(shù)字濾波器為例,介紹用MATLAB工具軟件設(shè)計(jì)數(shù)字濾波器的方
    發(fā)表于 04-12 09:32 ?1854次閱讀
    <b class='flag-5'>數(shù)字濾波器</b>的<b class='flag-5'>MATLAB</b>與DSP上設(shè)計(jì)實(shí)現(xiàn)

    基于Matlab GUI的數(shù)字濾波器設(shè)計(jì)及其應(yīng)用

    基于數(shù)字信號(hào)處理原理,在分析數(shù)字濾波器設(shè)計(jì)理論和Matlab編程技術(shù)及其GUI圖形用戶(hù)界面設(shè)計(jì)的基礎(chǔ)上,開(kāi)發(fā)了具有交互式特點(diǎn)的數(shù)字濾波器軟件,界面操作簡(jiǎn)單方便,可以根據(jù)需要選
    發(fā)表于 09-25 17:27 ?119次下載

    基于Matlab/Simulink的FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)

    基于Matlab/Simulink的FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)。
    發(fā)表于 01-15 15:16 ?39次下載

    基于matlab數(shù)字濾波器的設(shè)計(jì)及數(shù)字濾波器基本結(jié)構(gòu)

    本文主要介紹了基于matlab數(shù)字濾波器的設(shè)計(jì)及數(shù)字濾波器基本結(jié)構(gòu)。
    發(fā)表于 06-05 08:00 ?27次下載

    FIR數(shù)字濾波器設(shè)計(jì)

    數(shù)字濾波器的輸入輸出均為數(shù)字信號(hào),信號(hào)通過(guò)數(shù)字濾波器后,可以改變頻率成分的相對(duì)比例或?yàn)V除某些頻率成分。數(shù)字濾波器可以分為IIR
    的頭像 發(fā)表于 04-05 09:47 ?5524次閱讀

    數(shù)字濾波器是什么 數(shù)字濾波器的性能指標(biāo)

      數(shù)字濾波器的原理基于數(shù)字信號(hào)處理技術(shù)和濾波器算法,通過(guò)對(duì)離散時(shí)間信號(hào)進(jìn)行處理和濾波,實(shí)現(xiàn)對(duì)信號(hào)
    發(fā)表于 02-24 11:23 ?5229次閱讀