根據語音頻號選擇合適的濾波器,
程式1:用matlab對原始語音頻號進行分析,畫出它的時域波形和頻譜
fs=22050; %語音頻號取樣頻率為22050
x1=w**read('h:\課程設計2\'); %讀取語音頻號的資料,賦給變數x1
sound(x1,22050); %**語音頻號
y1=fft(x1,1024); %對訊號做1024點fft變換
f=fs*(0:511)/1024;
figure(1)
plot(x1) %做原始語音頻號的時域圖形
title('原始語音頻號');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
freqz(x1) %繪製原始語音頻號的頻率響應圖
title('頻率響應圖')
figure(3)
subplot(2,1,1);
plot(abs(y1(1:512))) %做原始語音頻號的fft頻譜圖
title('原始語音頻號fft頻譜')
subplot(2,1,2);
plot(f,abs(y1(1:512)));
title('原始語音頻號頻譜')
xlabel('hz');
ylabel('fuzhi');
程式2:給原始的語音頻號加上乙個高頻余弦雜訊,頻率為5khz。畫出加噪後的語音頻號時域和頻譜圖,與原始訊號對比,可以很明顯的看出區別。
fs=22050;
x1=w**read('h:\課程設計2\');
f=fs*(0:511)/1024;
t=0:1/22050:(size(x1)-1)/22050; %將所加雜訊訊號的點數調整到與原始訊號相同
au=0.03
d=[au*cos(2*pi*5000*t)]'; %雜訊為5khz的余弦訊號
x2=x1+d;
sound(x2,22050**加雜訊後的語音頻號
y2=fft(x2,1024);
figure(1)
plot(t,x2)
title('加噪後的訊號');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
subplot(2,1,1);
plot(f,abs(y1(1:512)));
title('原始語音頻號頻譜');
xlabel('hz');
ylabel('fuzhi');
subplot(2,1,2);
plot(f,abs(y2(1:512)));
title('加噪後的訊號頻譜');
xlabel('hz');
ylabel('fuzhi');
程式3:雙線性變換法設計butterworth濾波器
fs=22050;
x1=w**read('h:\課程設計2\');
t=0:1/22050:(size(x1)-1)/22050;
au=0.03;
d=[au*cos(2*pi*5000*t)]';
x2=x1+d;
wp=0.25*pi;
ws=0.3*pi;
rp=1;
rs=15;
fs=22050;
ts=1/fs;
wp1=2/ts*tan(wp/2); %將模擬指標轉換成數字指標
ws1=2/ts*tan(ws/2);
[n,wn]=buttord(wp1,ws1,rp,rs,'s'); %選擇濾波器的最小階數
[z,p,k]=buttap(n); %建立butterworth模擬濾波器
[bap,aap]=zp2tf(z,p,k);
[b,a]=lp2lp(bap,aap,wn);
[bz,az]=bilinear(b,a,fs); %用雙線性變換法實現模擬濾波器到數字濾波器的轉換
[h,w]=freqz(bz,az); %繪製頻率響應曲線
figure(1)
plot(w*fs/(2*pi),abs(h))
grid
xlabel('頻率/hz')
ylabel('頻率響應幅度')
title('butterworth')
f1=filter(bz,az,x2);
figure(2)
subplot(2,1,1)
plot(t,x2) %畫出濾波前的時域圖
title('濾波前的時域波形');
subplot(2,1,2)
plot(t,f1); %畫出濾波後的時域圖
title('濾波後的時域波形');
sound(f1,22050); %**濾波後的訊號
f0=fft(f1,1024);
f=fs*(0:511)/1024;
figure(3)
y2=fft(x2,1024);
subplot(2,1,1);
plot(f,abs(y2(1:512))); %畫出濾波前的頻譜圖
title('濾波前的頻譜')
xlabel('hz');
ylabel('fuzhi');
subplot(2,1,2)
f1=plot(f,abs(f0(1:512))); %畫出濾波後的頻譜圖
title('濾波後的頻譜')
xlabel('hz');
ylabel('fuzhi');
程式4:窗函式法設計濾波器:
fs=22050;
x1=w**read('h:\課程設計2\');
t=0:1/22050:(size(x1)-1)/22050;
au=0.03;
d=[au*cos(2*pi*5000*t)]';
x2=x1+d;
wp=0.25*pi;
ws=0.3*pi;
wdelta=ws-wp;
n=ceil(6.6*pi/wdelta); %取整
wn=(0.2+0.3)*pi/2;
b=fir1(n,wn/pi,hamming(n+1)); %選擇窗函式,並歸一化截止頻率
figure(1)
freqz(b,1,512)
f2=filter(bz,az,x2)
figure(2)
subplot(2,1,1)
plot(t,x2)
title('濾波前的時域波形');
subplot(2,1,2)
plot(t,f2);
title('濾波後的時域波形');
sound(f2,22050); %**濾波後的語音頻號
f0=fft(f2,1024);
f=fs*(0:511)/1024;
figure(3)
y2=fft(x2,1024);
subplot(2,1,1);
plot(f,abs(y2(1:512)));
title('濾波前的頻譜')
xlabel('hz');
ylabel('fuzhi');
subplot(2,1,2)
f2=plot(f,abs(f0(1:512)));
title('濾波後的頻譜')
xlabel('hz');
ylabel('fuzhi');
帶通濾波器濾波
物件1 乙個含有10hz 30hz和60hz的混合正弦波訊號x sin 2 pi t 10 sin 2 pi t 30 sin 2 pi t 60 通過乙個設計的iir帶通橢圓濾波器 elliptic 後,使輸入的混合訊號中頻率為30hz的正弦波訊號通過,而將頻率為10hz和60hz的正弦波訊號大大...
無源濾波器和有源濾波器的區別
工作原理無源濾波器由lc等被動元件組成,將其設計為某頻率下極低阻抗,對相應頻率諧波電流進行分流,其行為模式為提供被動式諧波電流旁路通道 而有源濾波器由電力電子元件和dsp等構成的電能變換裝置,檢測負載諧波電流並主動提供對應的補償電流,補償後的源電流幾乎為純正弦波,其行為模式為主動式電流源輸出。諧波處...
FTTX光濾波器
光濾波器簡介 光濾波器 optical filter 是用來進行波長選擇的儀器,它可以從眾多的波長中挑選出所需的波長,而除此波長以外的光將會被拒絕通過。廣泛應用於dwdm系統內動態波長選擇,dwdm訊號分離,光效能監測,可調諧光雜訊過濾及光放大器雜訊抑制等領域。光復用器 耦合器 是把不同波長的光復用...