看板 MATLAB 關於我們 聯絡資訊
小弟想寫一個FIR的低通濾波器 初始的放大倍率想要調大(也就是大於0db) 但是程式碼中所使用到的fir1指令 沒辦法設定 底下是程式碼 clear;close all ws=0.4 %stop band n_hm=2 %filter length %%plot hamming b=fir1(n_hm-1,ws); [h,omega]=freqz(b,1,512); mag=20*log10(abs(h)); % figure(1) subplot(211) n_axis=[0:1:n_hm-1]; stem(n_axis,b); line(n_axis,zeros(1,length(n_axis))); xlabel('n');ylabel('h(n)'); title('Impulse sequencies coefficients'); subplot(212); plot(omega/pi,mag); axis([0 1 -80 5]);grid xlabel('pi unit');ylabel('Magnitude or T(jw) (dB)'); title('FIR Lowpass Filter Designed Useing Hamming Window'); NUM=[b]; DEN=[1 zeros(1,n_hm)]; FR2=tf(NUM,DEN,-1); figure(2) % sigma(FR);hold on ;grid on; sigma(FR2) 請問各位先進 程式碼如何做更改 或是需改成放大器呢? 我的目的是將訊號在低頻的時候能夠放大,高頻盡量小 感謝!! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.133.146
bxxl:所有的係數都乘上同一個常數,就有gain了 12/05 21:22
bxxl:或是0dB的filter, 在輸出的地方再乘一值放大 12/05 21:23
l055058:但是我的高頻的值不想放大 囧rz 12/11 10:11
diggershi:濾波器就是Pass的部分Gain=0dB 想要濾掉的部分Gain=-xdB 12/11 10:35
diggershi:-x 就是一開始設計的部分要處理好...不想放大就把要pass 12/11 10:36
diggershi:的Gain=ydB 要增加的部分 去設計出-x-ydB的濾波器後 12/11 10:37
diggershi:用前面推文的放數就_是有同樣的效果 12/11 10:37
diggershi:用前面推文的方式就可以達到你要效果 12/11 10:41
l055058:所以是要設計一個濾波器 低頻xdb 高頻-ydb嗎? 12/11 11:26
bxxl:如果你想要低頻+10dB, 高頻-40dB,就先設計就先設計低頻0dB 12/13 14:51
bxxl:高頻-50dB的filter, 再把係數整個放大 12/13 14:51