2013-03-28 3 views
0

우리는 500Hz 이하의 주파수를 줄이고 높은 주파수를 허용하기 위해 필터 (디지털 고역 통과 IIR 필터)를 구현하는 과제를 부여 받았다. SPTool을 사용하고 ellip funciton 우리는 우리가 다음 L1 규범을 사용하여 scalefactors를 계산 한 다음Matlab IIR 필터

% Sampling Rate (Hz) 
Fs = 46875; 

% High-pass filter 
N = 4; % Filter Order 
Wn = 500/(46875/2); % Cutoff Frequency in terms of Passband/Nyquist frequency ratio 
Rp = 0.5; % Passband ripple specification 
Rs = 20; % Stopband attenuation 

[Num,Den] = ellip(N,Rp,Rs,Wn,'high'); 

secondOrderSection = tf2sos(Num,Den)./2 

건설 : 우리는 16 비트 Atmel은 마이크로 컨트롤러 (AC3U3 Xplained)에서이를 구현해야하기 때문에 계산해야 Q_0.15 형태의 scalefactors는

% FIRST SECTION 
firstScaleFactor = 1/(sum(abs(impz(1,secondOrderSection(1,4:6))))) 
sf1_2_Q = round(firstScaleFactor*(2^15)) 

% SECOND SECTION 
secondScaleFactor = 1/(sum(abs(impz(1,secondOrderSection(2,4:6))))) 
sf2_2_Q = round(secondScaleFactor*(2^15)) 

문제점 : 우리의 scalefactors은 14 우리의 계산이 오류입니다 둘째, 조금 낮은 우선 스케일 팩터가 77 인 것 같다?

답변

1

This application note 텍사스 인스트루먼츠는 고정 소수점 필터 구현에서 오버플로 방지 기술 개요를 제공합니다.

관련 문제