【滤波器】基于matlab实现语音通信仿真附报告
生活随笔
收集整理的這篇文章主要介紹了
【滤波器】基于matlab实现语音通信仿真附报告
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 簡介
1.?樣本音頻信號的頻譜分析
2.?對音頻信號的濾波
3.?對音頻信號進行PCM編碼
4.?對編碼后的信號進行漢明編碼
5.?對編碼后的信號進行qpsk調制
6.?發送信號進入AWGN信道
7.?對接收到的信號進行qpsk解調
8.?信道譯碼-漢明糾錯和譯碼
9.?對音頻信號進行pcm譯碼并播放
2 部分代碼
clc;clear all;?%/*************************讀入音頻文件*******************************/long=input('想處理的音樂的長度(推薦值200 000以下,太長會很慢):');disp('**********請欣賞發送的的音樂*********')[x,fs]=audioread('高山流水.wav',[1 long]);sound(x,fs);X=fft(x,long);magX=abs(X);angX=angle(X);?figure;%畫圖subplot(321);plot(x);title('原始信號波形');subplot(322);plot(abs(X)); title('原始信號頻譜');??%/*************************對音頻信號濾波*******************************/N=5;wc=4000/6000;[b,a]=butter(N,wc);%用巴特沃斯濾波器進行濾波X=fft(x);subplot(323);plot(x);title('濾波前信號的波形');subplot(324);plot(abs(X));title('濾波前信號的頻譜');y=filter(b,a,x);Y=fft(y);subplot(325);plot(y);title('IIR濾波后信號的波形');subplot(326);plot(abs(Y));title('IIR濾波后信號的頻譜');??%/*************************對音頻信號進行pcm編碼*************************/L=length(y);pcmy=pcmcoder(y,L,long);?%/*************************對編碼后的信號進行信道編碼-漢明編碼************/?s=pcmy;L=length(s);h=zeros(1,L+L/4*3);%產生編碼序列N=L+L/4*3;h=hanmincoder(s,L); %/*************************對編碼后的信號進行qpsk調制********************/sig=qpskcoder(N,h);???%/*************************發送信號進入AWGN信道**************************/%加入噪聲 n=noise(N,L);r=sig+n;%檢測器的輸入模塊 %/*************************對接收到的信號進行qpsk解調********************/ rr=qpskdecoder(N,r); %/*************************信道譯碼-漢明糾錯和譯碼***********************/y=hanmingdecoder(rr,L) ;?%/*************************對音頻信號進行pcm譯碼************************/pcmyout=pcmdecoder(y,long);disp('**********請欣賞接收到的音樂*********')sound(pcmyout,fs); ?disp('**********程序結束,謝謝*********')3 仿真結果
4 參考文獻
[1]劉洲洲. 基于原型濾波器的語音信號濾波分析與仿真實現[J]. 電子設計工程, 2013, 21(5):4.?
博主簡介:擅長智能優化算法、神經網絡預測、信號處理、元胞自動機、圖像處理、路徑規劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。
部分理論引用網絡文獻,若有侵權聯系博主刪除。
總結
以上是生活随笔為你收集整理的【滤波器】基于matlab实现语音通信仿真附报告的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Splunk中12小时制AM/PM的日期
- 下一篇: 又一暴强的截图工具 ShareX