home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____IIIIIIIIRRRR1111DDDD((((3333FFFF)))) ____IIIIIIIIRRRR1111DDDD((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- SIIR1D, DIIR1D, CIIR1D, ZIIR1D - 1D recursive convolution in the time
- domain.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee SSSSIIIIIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiiiiiirrrrffffiiiillll,,,, iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- rrrreeeeaaaallll iiiinnnn____ppppuuuutttt((((****)))),,,, iiiiiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee DDDDIIIIIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiiiiiirrrrffffiiiillll,,,, iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn iiiinnnn____ppppuuuutttt((((****)))),,,, iiiiiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee CCCCIIIIIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiiiiiirrrrffffiiiillll,,,, iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- ccccoooommmmpppplllleeeexxxx iiiinnnn____ppppuuuutttt((((****)))),,,, iiiiiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ZZZZIIIIIIIIRRRR1111DDDD(((( iiiinnnn____ppppuuuutttt,,,, iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiiiiiirrrrffffiiiillll,,,, iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr,,,,
- oooouuuuttttppppuuuutttt,,,, iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnncccciiiinnnnpppp,,,, iiii0000____iiiinnnnpppp,,,, nnnn____iiiinnnnpppp,,,,
- iiiinnnncccciiiiiiiirrrr,,,, iiii0000____iiiiiiiirrrr,,,, nnnn____iiiiiiiirrrr
- iiiinnnnccccoooouuuutttt,,,, iiii0000____oooouuuutttt,,,, nnnn____oooouuuutttt
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx iiiinnnn____ppppuuuutttt((((****)))),,,, iiiiiiiirrrrffffiiiillll((((****)))),,,, oooouuuuttttppppuuuutttt((((****)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
-
- CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooonnnnvvvv....hhhh>>>>
-
- vvvvooooiiiidddd ssssiiiiiiiirrrr1111dddd(((( ffffllllooooaaaatttt ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- ffffllllooooaaaatttt ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
- ffffllllooooaaaatttt ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
- ffffllllooooaaaatttt aaaallllpppphhhhaaaa,,,, ffffllllooooaaaatttt bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd ddddiiiiiiiirrrr1111dddd(((( ddddoooouuuubbbblllleeee ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- ddddoooouuuubbbblllleeee ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____IIIIIIIIRRRR1111DDDD((((3333FFFF)))) ____IIIIIIIIRRRR1111DDDD((((3333FFFF))))
-
-
-
- ddddoooouuuubbbblllleeee ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
- ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa,,,, ddddoooouuuubbbblllleeee bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd cccciiiiiiiirrrr1111dddd(((( ccccoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- ccccoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
- ccccoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
- ccccoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, ccccoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd zzzziiiiiiiirrrr1111dddd(((( zzzzoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt iiiiffff0000,,,, iiiinnnntttt nnnnffff,,,,
- zzzzoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiigggg0000,,,, iiiinnnntttt nnnngggg,,,,
- zzzzoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt iiiihhhh0000,,,, iiiinnnntttt nnnnhhhh,,,,
- zzzzoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, zzzzoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
-
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- SIIR1D, DIIR1D CIIR1D and ZIIR1D compute a 1D convolution in the time
- domain :
-
- O(j) = (1/F(0)) * { I(j) - Sum[ O(i) * F(j-i) ] }, for i=1,...,(j-1)
-
-
- UUUUSSSSAAAAGGGGEEEE
- These modules compute the result of the convolution in the "output" range
- padding with zeroes when needed.
-
- With some precautions it is possible that
- the Output sequence OVERWRITE the Input one.
- Then (if i0_out == i0_inp), it is necessary that i0_iir =< 0 Said in
- DSP jargon: "iirfil" must be AAAANNNNTTTTIIII----CCCCAAAAUUUUSSSSAAAALLLL
-
- In theory, an input sequence of "n_inp" samples starting at time
- "i0_inp", filtered by a sequence of "n_fir" samples starting at time
- "i0_fir", will result in a new signal of infinite length starting at time
- (i0_inp + i0_fir). Here we just compute here the values that fall in
- that range and zero the rest.
-
- For example when filtering a sequence of N samples, with a filter of m
- samples. If one wants only to compute the first N resulting samples, the
- following call can be used:
- call diir1d( f, 0, 1, N, g, 0, 1, m, h, 0, 1, N)
-
-
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- iiiinnnn____ppppuuuutttt Pointer to IIRST sample of sequence "in_put"
-
-
- iiiinnnncccciiiinnnnpppp Increment between two successive values of "in_put"
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____IIIIIIIIRRRR1111DDDD((((3333FFFF)))) ____IIIIIIIIRRRR1111DDDD((((3333FFFF))))
-
-
-
- iiii0000____iiiinnnnpppp Index of the iirst element of "in_put"
-
-
- nnnn____iiiinnnnpppp Number of samples of "in_put"
-
-
- iiiiiiiirrrrffffiiiillll Pointer to IIRST sample of sequence "iirfil"
-
-
- iiiinnnncccciiiiiiiirrrr Increment between two successive values of "iirfil"
-
-
- iiii0000____iiiiiiiirrrr Index of the iirst element of "iirfil"
-
-
- iiii0000____iiiiiiiirrrr Number of samples of "iirfil"
-
-
- oooouuuuttttppppuuuutttt Pointer to IIRST sample of sequence "output"
-
-
- iiiinnnnccccoooouuuutttt Increment between two successive values of "output"
-
-
- iiii0000____oooouuuutttt Index of the iirst element of "output"
-
-
- nnnn____oooouuuutttt Number of samples of "output"
-
-
- aaaallllpppphhhhaaaa Scaling factor for the convolution
-
-
- bbbbeeeettttaaaa Scaling factor for the Output on Entry
-
-
- IIIIMMMMPPPPOOOORRRRTTTTAAAANNNNTTTT NNNNOOOOTTTTEEEE::::
- The array pointers must all point to the iirst element of the
- array "i0_inp", "i0_iir" and "i0_out". If "in_put" for example
- is defined as
- dimension in_put(-25:45)
- Then "diir1d" must be called with the following parameters
- call diir1d( in_put(-25),1,-25,45, ... )
-
-
- AAAAUUUUTTTTHHHHOOOORRRRSSSS
- Jean-Pierre Panziera, 1/12/93.
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-