c語言數字濾波器
㈠ 怎樣寫數字濾波程序
可以告訴你方法:算數平均濾波,就是求出k次采樣值的總和,再除以k;中值濾波法,是把k個采樣值按照從小到大排列順序,然後找到位於最中間的那個值;最後一種不知道你們老師的防脈沖是什麼意思,猜測可能是去掉k次采樣值中大於或小於某個值,剩餘值求平均數。
讓別人免費給你寫程序基本上不可能,這個得花時間和精力。
㈡ 求用c語言實現一個FIR數字低通濾波
沒有定義這個函數,此函數為
function hd=ideal_lp(wc,M);
%Ideal Lowpass filter computation
%------------------------------------
%[hd]=ideal_lp(wc,M)
% hd=ideal impulse response between 0 to M-1
% wc=cutoff frequency in radians
% M=length of the ideal filter
%
alpha=(M-1)/2;
n=[0:1:(M-1)];
m=n-alpha+eps;
hd=sin(wc*m)./(pi*m);
點擊file中的new中M-file,新建上面的函數,保存後就可以運行了
另外,團IDC網上有許多產品團購,便宜有口碑
㈢ 求IIR及FIR數字濾波器的C語言實現。(VC++)
這個問題比較復雜,最近本人也在研究數字濾波,
結合圖片說一下
第一個圖是fir的流程圖,其中Z-1是延遲,是單個采樣時間1/fs
n階的fir濾波器就是選取最近的n+1個樣本,然後使他們各自乘以自己的濾波器系數即圖中的F(n),[一般其他書的表示是h(n)]
然後相加得到輸出的y(n)就是一個輸出點
,其中F(n)的得出需要根據采樣頻率和濾波器的通帶和阻帶來決定
其中為了改善旁瓣的幅值,一般在采樣後給樣本或者h(n)加窗,當然可以用「最佳方法」來做
得出h(n)大致方法是先將矩形窗進行DFT,得出h(n),然後對h(n)進行加窗得出h(k),然後將∑h(k)×x(n)=y(n),假如階數較多可以用傅里葉變換使時域變頻域後再將卷積相加,可以利用FFT來改進實時性,提升速度
上面就是fir濾波器的簡述
第二個圖片上傳不了,直接給鏈接
http://image..com/i?ct=503316480&z=0&tn=imagedetail&word=%D2%BB%BD%D7iir%C2%CB%B2%A8%C6%F7&in=12708&cl=2&cm=1&sc=0&lm=-1&pn=0&rn=1&di=2607528304&ln=1054&fr=
圖中的Z-1是延時,iir濾波器也叫無限沖擊響應濾波器,是有反饋的,
圖中的是一階的,相對fir濾波器來說,iir濾波器可以用較低的階數來獲得較好的濾波特效。但是其相位特性較差。
鑒於實用性,還是建議樓主去圖書館借書看,網路不可能得到確實的方案,
樓主可以去借「數字信號處理」的書,國外的中譯本就有詳細介紹fir和iir以及fft還有其他變換,國內的dsp大都幾乎是dsp用戶手冊的中譯本,對上述問題都是很簡陋地帶過,不予置評。
本人推薦一本書在www.ouravr.com上面的dsp專欄有下載,40多M,叫DSP演算法、應用和設計,本人有這本實體書,寫的較好
㈣ 求:c語言數字濾波器;要求:1Khz低通;20個數x0,x1,x2----x19;結果y0---y19
1,低通濾波器傳函k*f^2/(s^2+s*f/Q+f^2),確定你的電壓增壓k和品質因數,還有截止頻率f。我就以f=1k,q=0.707,k=1為例。
2,進行離散化。離散化方法以雙線性變換為例。。。。然後得到Transfer function:
1.039e-005 z + 6.53e-006
------------------------
z^2 - 1.243 z + 0.2431
Sampling time: 0.001
3,然後就改寫成差分方程。。。。把z^(-n)中的(-n)寫成(k-n)即可。自己移相試試 就知道了。
㈤ 如何用C語言來實現數字濾波器
用C語言實現,希望能給出個完整的已調試好程序,不甚感謝,給你20分問題補充:例子中9、2、14有誤,應該是11、2、14
太麻煩了
我只編了一
㈥ 大家好,求助c語言怎麼編寫設計fir數字濾波器。要求:用一個矩形窗設計
用四種窗函數設計線形相位低通濾波器。要求在兩種窗口長度下,繪制相應的幅頻和相頻特性曲線,觀察3dB和20dB帶寬以及阻帶最小衰減,比較四種窗函數對濾波器特性的影響。
㈦ 如何利用C語言編寫二階高通濾波器,跪求高手幫助
數字濾波器而已~~搞清原理就簡單啦~~~定義個數組,或者把濾波器參數也定義在數組里方便修改,來一個新數據移位一下就行了