X3ZZS 7. PŘEDNÁŠKA. listopadu 4 Jedoduché číslicové filtry Klouavé průměry Úkopásmové ádrže Difereciátory Hřebeové filtry Karplusův Strogův algoritmus Fáovací filtry Audio efekty aložeé a časovém požděí Schroederův algoritmus modelováí dovuku
Filtr klouavých průměrů I,...,, ] [ ] [ ] [ ] [ N x x x N y ) ( ) ( N N N H N N N N N N
---> H(exp(j*)) Impulsí ch. ---> Im ---> H(exp(j*)) Impulsí ch. ---> Im -5 - -5 - -5-3 -35-4 -45-5 -55 Filtr klouavých průměrů II 3-bodovy klouavy prumer (MA filtr).5 --->.3.5..5..5 4 6 ---> [vorky].5.5 -.5 - -.5 - -.5.5 ---> Re -bodovy klouavy prumer (MA filtr).5 - - -3.45.4.35.3.5.5.5 9-4 -5..5..5 -.5 - -.5-6.5 ---> 4 6 ---> [vorky] - -.5.5 ---> Re
---> Im ---> H(exp(j*w)) Impulsí ch. Filtr klouavých průměrů III -bodovy klouavy prumer (MA filtr) - -4-6.5 ---> w.5 -.5-99 - -.5.5 ---> Re..8.6.4. 3 4 ---> (vorky) -.8.6.4..6.4..3.. KLOUZAVE PRUMERY origial 5 5 5 3 35 4 3-bodovy kl.prumer 5 5 5 3 35 4 -bodovy kl.prumer 5 5 5 3 35 4 -bodovy kl.prumer 5 5 5 3 35 4
Filtr klouavých průměrů IV.5 -.5...3.4.5.6 - -4-6 -8...3.4.5.6.6.4....3.4.5.6 E = *log(filter(oes(,5),,x.^)./5); Z = [;filter(oes(,5),,abs(diff(x>)))./5]; Y = E>-3 E>-45&Z>;
Úkopásmová ádrž IIR I ] [ ] [ cos ] [ ] [ cos ] [ ] [ x r x r x R x R x y cos cos cos cos ) ( r r R R r r R R H
---> H(exp(j*)) Impulsí ch. ---> Im ---> H(exp(j*)) Impulsí ch. ---> Im Úkopásmová ádrž IIR II Priklad potlacei frekvece (fr=fs/) -5 -.8.6.5.5-5.4 -. -.5-5 -3.5 ---> -. 4 6 ---> [vorky] - -.5 - -.5.5 ---> Re Filtr pro potlacei ss sloky - - -3-4 -5.9.8.7.6.5.4.3...5.5 -.5 - -.5-6.5 ---> 4 6 ---> [vorky] - -.5.5 ---> Re
Úkopásmová ádrž IIR III EKG sigal + rusivych 5 H.5 -.5 5 5 5 3 35 4 45 5 EKG sigal + potlaceych 5 H (otch filtr).5 -.5 5 5 5 3 35 recovy sigal se ss slokou 4 45 5.5.5 5 5 5 3 35 4 potlacei ss sloky.5 -.5-5 5 5 3 35 4
Potlačeí 5 H v EKG sigálu f_s = 5; f_r = 5; R = ; r =.8; b = [ -*R*cos(*pi*f_r/f_s) R*R]; a = [ -*r*cos(*pi*f_r/f_s) r*r]; load ecg; sigal=ecg; sigal=sigal/max(abs(sigal)); subplot(), plot(sigal(:5)) title('ekg sigal + rusivych 5 H') f_sigal=filter(b,a,sigal); subplot(), plot(f_sigal(:5)) title('ekg sigal + potlaceych 5 H (otch filtr)') %paciet je po ifarktu
---> Im ---> Im ---> Im ---> H(exp(j*w)) Impulsí ch. ---> H(exp(j*w)) Impulsí ch. ---> H(exp(j*w)) Impulsí ch. Difereciátory y[ ] x[ ] x[ ] y[ ],5 x[ ] x[ ] y[ ], x[ ] x[ ] x[ 3] x[ 4 b. difereciator 3b. difereciator.5 5b. difereciator. - -4.5 -.5 - - -3-4 - -4. -. -6.5 ---> w - 3 4 ---> (vorky) -5.5 ---> w -.5 3 4 ---> (vorky) -6.5 ---> w -. 3 4 ---> (vorky).5.5.5 4 -.5 -.5 -.5 - - -.5.5 ---> Re - - -.5.5 ---> Re - - -.5.5 ---> Re
Difereciátory Detekce R spicek v EKG sigalu origial.5 3.8.6.4. detail 4 6 po vyhlaei.6 b. difereciator.4..6.4..3...4. 3 3b. difereciator.4. 4 6.3.. 4 6.3.. 3 5b. difereciator.3.. 4 6..5..5 4 6 3 4 6 4 6
---> Im ---> H(exp(j*w)) Impulsí ch. Hřebeový FIR filtr ---> Im ---> H(exp(j*w)) Impulsí ch. y[ ] x[ ] g x[ D] H( ) g D D D g 5 Hrebeovy FIR filtr 6.radu 5 Hrebeovy FIR filtr 7.radu.8.8-5.6-5.6 -.4 -.4-5 +g -g -.5 ---> w. 3 4 ---> (vorky) -5 +g -g -.5 ---> w. 3 4 ---> (vorky).5.5 6 7 -.5 -.5 - - -.5.5 ---> Re - - -.5.5 ---> Re
FIR filtr se dvěma ulami
FIR filtr se třemi ulami
FIR filtry (klouavý průměr a hřebeový filtr)
FIR filtry
---> H(exp(j*)) Impulsí ch. ---> Im y[ ] x[ ] g y[ D] Hřebeový IIR filtr H( ) g D D D g Hrebeovy IIR filtr 6.radu.9.5 5.8.7.6.5.5 6 5.4.3. -.5 - +g -5 -g.5 --->. 5 5 ---> (vorky) -.5 - -.5.5 ---> Re
---> arg(h(exp(j*))) Impulsí ch. ---> Im ---> H(exp(j*)) Číslicový fáovací filtr y[ ] g y[ D] g x[ ] x[ D] H( ) g g D D g D D g g D / g D g 5 allpass -5.5 ---> -.7.6.5.4.3.. -. -. -.3.5.5 -.5 - -.5.5 ---> 5 5 ---> (vorky) - -.5.5 ---> Re
Frequecy amplituda Karplusův Strogův alg. 4 - -4.5.5.5 3 3.5 4 cas [s] x 4.5.5.5.5.5 3 3.5 Time
Karplusův Strogův alg. kytara harfa madolía klavír bicí
Karplusův Strogův alg. fs = 44.e3; % [H] doba= 4; % [s] = [ ]; g =.5; f = [8.4 46.8 96 46.9 39.6]; % [H] for k=:legth(f) x=eros(,doba*fs); % geerovai budiciho sigalu D=roud(fs/f(k)) % modelujiciho drkuti x(:d)=rad(,d); % buei exploi bileho sumu a=[ eros(,d-) -g -g]; b=[]; y=filter(b,a,x); =[ y]; ed;
Audio efekty aložeé a časovém požděí (dovuky a echa) origial origial. -..5.5.5 3 3.5 4 4.5 5 5.5 jedoduche echo x 4 - - 3 4 5 6 7 8 3-asobe echo. -..5.5.5 3 3.5 4 4.5 5 5.5 K sigálu přičítáme stejý sigál, avšak požděý a tlumeý (jedoduché echo) x 4 - - 3 4 5 6 7 8 Zpožděí vímáme jako echo, je-li delší ež 5 ms Malé požděí přiáší oživeí a rojasěí vuku Rychlost vukové vly je 35 m/s (33,4 +,6 T)
Audio efekty aložeé a časovém požděí (dovuky a echa) Dovuk,5 sekudy => vuková vla uraí 75 metrů Např. v koupelě o 3m by se vla odraila 58x (pak by byla vla více či méě absorbováa)
Audio efekty aložeé a časovém požděí (dovuky a echa) Přímá vla (be odraů) přímá cesta k posluchači Prví odray Odražeé vly přícháí,-, s po přímé vlě
Audio efekty aložeé a časovém požděí (dovuky a echa) Dovuk obsahuje tisíce podějších odraů Stad.doba dovuku -pokles o 6 db Typický kocertí sál má dovuk.5-3 sekudy Chrám sv. Víta až 8 s Odray impulsího sigálu (expoeciálí tlumeí)
Audio efekty aložeé a časovém požděí (dovuky a echa), př.36 Zvukový efekt Zpožděí v sekudách Filtračí koeficiet pod mostem,4,3 v chrámu,5,3 elektroicky vytvářeý umělý dovuk,,9 klasické echo,5,5 v podemí chodbě,,7 v kocertí sii,,4 elektroický efekt,85,9 ve sprše,3,6 v malé místosti,,5 mikrofoí pětá vaba,,97
Schroedrův algoritmus modelováí dovuku HF - hřebeové filtry: určují délku ověy (délka požděí je až 5 ms; apojují se paralelě) AF - all-pass filtry: ahuštují a roprostírají ověy (délka požděí je do 5 ms; apojují se do kaskády) Realističtější modelováí dovuku Pracé astaveí parametrů modelu
Audio efekty aložeé a časovém požděí (dovuky a echa), př.36 E = [.4.3.5.3..9.5.5..7..4.85.9.3.6..5..97]; for k=:legth(e) podei = E(k,); g = E(k,); D = roud(podei*f_s); % [vorky] a = [ eros(,d-) -g]; y = filter(,a,x); soudsc( y',f_s) pause(3) ed;
E = [.4.3.5.3..9.5.5..7..4.85.9.3.6..5..97]; Audio efekty aložeé a časovém požděí (dovuky a echa) for k=:legth(e) podei = E(k,); g = E(k,); D = roud(podei*f_s); % [vorky] a = [ eros(,d-) -g]; y = filter(,a,x); soudsc(y',f_s) pause(3) ed;
Číslicové filtry - obecě ) ( ] [ ] [ ] [ M x b b x x b y M ) ( M M M M M M b b b b b H M m m L l l m y a l b x y ] [ ] [ ] [ M M M L L L M m m M m L l l L l M M L L M m m m L l l l a a b b b b b a a b b b b b H ) ( Diferečí rovice FIR Přeosová fukce FIR filtru Diferečí rovice IIR Přeosová fukce IIR filtru
Schéma IIR filtru-přímá struktura