精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于MATLAB的數字濾波器語音信號去噪

思沉淵 ? 來源:思沉淵 ? 作者:思沉淵 ? 2024-10-10 18:22 ? 次閱讀

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

利用的是用漢明窗函數法設計出FIR低通濾波器。

(1)程序代碼
Fs=22050;
[y,Fs] = audioread('E:shukdrightadd.wav');
N=length(y); %采樣點數
y=y(:,1);
Z=fft(y,1200);
Z=abs(Z);%取絕對值,只顯示y軸的正半軸
f=(Fs/1630)*[1:1630];
figure(1);
subplot(2,1,1);plot(y);xlabel(‘t’);title('原始信號時域波形圖');
subplot(2,1,2);plot(f(1:800),Z(1:800));xlabei(‘Hz’)
title('原始語音信號采樣后的頻譜圖');
%sound(y, Fs) %聽原始音頻
%單頻噪聲
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('噪聲信號波形');
subplot(2,1,2)
plot(f(1:800),zs1(1:800));
title('噪聲信號頻譜');
%加噪聲
x1=y+zs';
y1=fft(x1,1200);
y1=abs(y1);
figure(3);
subplot(2,1,1);plot(x1);
title('加入噪聲后的信號波形');
subplot(2,1,2);
plot(f(1:800),y1(1:800));
title('加入噪聲后的信號頻譜');
%sound(x1,Fs); %回放加入噪聲后的語音

%濾波器FIR濾波器 漢明窗
fp1=9500; % 通帶和阻帶頻率
fs1=10000;
wp1=2*pi*fp1/Fs;
ws1=2*pi*fs1/Fs;
deltaw=ws1-wp1;%過渡帶寬
N0=ceil(6.6*pi/deltaw);
N=N0+mod(N0+1,2); %為實現FIR類型1偶對稱濾波器,應確保N為奇數
windows=hamming(N);%使用哈明窗,此句可省略
wc=(ws1+wp1)/2;
b=fir1(N-1,wc/pi,windows);%用fir1函數求系統函數系數,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))); %檢驗通帶波動
As=-round(max(db(ws1/dw+1:501))); %檢驗最小阻帶衰減
figure(4);
subplot(2,1,1);plot(w/pi/2*Fs,db);axis([0,Fs/2,-200,10]);
title('幅度頻率響應');
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('相位頻率響應');
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函數進行濾波
X1=fft(h1,1200);
X1=abs(X1);
figure(5);
subplot(211);plot(h1);title('濾波后時域圖');xlabel('t');
subplot(212);plot(f(1:800),X1(1:800));title('濾波后頻譜圖');
xlabel('頻率(Hz)');

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

(2)運行結果展示
N =293
Rp =0.0269
As = 54

wKgZoWcHqe-AN7SDAF_SzB7ijzg758.png

wKgZoWcHqhOAPpMEAFTzL06AMGA178.png

但是太久了具體細節我也記得,有啥問題,自己摸索一下,嘿嘿嘿嘿,對了,音頻文件的位置要跟代碼寫的一樣,不然軟件會找不音頻的。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    182

    文章

    2963

    瀏覽量

    230192
  • 濾波器
    +關注

    關注

    160

    文章

    7749

    瀏覽量

    177730
  • 數字濾波器
    +關注

    關注

    4

    文章

    270

    瀏覽量

    46988
  • 語音信號
    +關注

    關注

    3

    文章

    70

    瀏覽量

    22828
收藏 人收藏

    評論

    相關推薦

    基于Matlab語音信號濾波器的設計與實現

    、設計內容:  以Matlab實現語音信號的低通濾波器設計為例:   (1)語音信號的采集 利用Windows下的錄音機,錄制一段自己的話音,時間在1 s內。然后在
    發表于 01-13 11:12

    請問如何設計IIR數字濾波器

    濾波器MATLAB怎么設計?編寫VHDL語言代碼有哪些注意事項?一般IIR數字濾波器該怎么設計?以低通
    發表于 04-14 06:22

    數字濾波器Matlab設計與應用

    :數字濾波數字信號處理中占有極其重要的地位,并且被廣泛應用。研究了在Madal〕環境下FIR數字濾波器的設計方法以及FIR濾波器信號
    發表于 01-06 17:05 ?30次下載

    數字濾波器的結構

    數字網絡的信號流圖表示 IIR數字濾波器的結構 FIR數字濾波器的結構數字濾波器的格形結構
    發表于 01-07 10:24 ?30次下載

    數字濾波器MATLAB 設計與DSP 上的實現

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

    基于Matlab數字濾波器的設計與應用研究

    基于Matlab數字濾波器的設計與應用研究摘 要:數字濾波語音和圖像處理、模式識別、譜分析等應用中的一個基本處理算法,在數字信號處理中占
    發表于 05-14 14:05 ?72次下載

    MATLAB輔助設計IIR數字濾波器

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

    數字濾波器的設計實驗

    數字濾波器的設計實驗 一. 數字濾波器設計:(1) 數字濾波器設計步驟:a. 整理給定的濾波器設計要求
    發表于 10-30 13:34 ?5727次閱讀
    <b class='flag-5'>數字濾波器</b>的設計實驗

    數字濾波器,數字濾波器原理是什么?

    數字濾波器,數字濾波器原理是什么? 在信號處理領域中,對于信號處理的實時性、快速性的要求越來越高。而在許多信息處理過程中
    發表于 03-24 14:06 ?2.9w次閱讀

    數字濾波器MATLAB與DSP上設計實現

    數字濾波器MATLAB與DSP上設計實現 概述:以窗函數法設計線性相位FIR數字濾波器為例,介紹用MATLAB工具軟件設計數字濾波器的方
    發表于 04-12 09:32 ?1871次閱讀
    <b class='flag-5'>數字濾波器</b>的<b class='flag-5'>MATLAB</b>與DSP上設計實現

    基于Matlab GUI的數字濾波器設計及其應用

    基于數字信號處理原理,在分析數字濾波器設計理論和Matlab編程技術及其GUI圖形用戶界面設計的基礎上,開發了具有交互式特點的數字濾波器軟件,界面操作簡單方便,可以根據需要選
    發表于 09-25 17:27 ?119次下載

    基于Matlab/Simulink的FIR數字濾波器的設計與實現

    基于Matlab/Simulink的FIR數字濾波器的設計與實現。
    發表于 01-15 15:16 ?39次下載

    基于matlab數字濾波器的設計及數字濾波器基本結構

    本文主要介紹了基于matlab數字濾波器的設計及數字濾波器基本結構。
    發表于 06-05 08:00 ?27次下載

    FIR數字濾波器設計

    數字濾波器的輸入輸出均為數字信號信號通過數字濾波器后,可以改變頻率成分的相對比例或濾除某些頻率成分。數字濾波器可以分為IIR
    的頭像 發表于 04-05 09:47 ?5575次閱讀

    數字濾波器是什么 數字濾波器的性能指標

      數字濾波器的原理基于數字信號處理技術和濾波器算法,通過對離散時間信號進行處理和濾波,實現對信號
    發表于 02-24 11:23 ?5308次閱讀