X-GM-THRID: 1222562985289797701 X-Gmail-Labels: rsgb lf Delivered-To: daveyxm@gmail.com Received: by 10.70.56.11 with SMTP id e11cs611249wxa; Wed, 13 Dec 2006 03:17:05 -0800 (PST) Received: by 10.78.204.20 with SMTP id b20mr533105hug.1166008624491; Wed, 13 Dec 2006 03:17:04 -0800 (PST) Return-Path: Received: from post.thorcom.com (post.thorcom.com [193.82.116.20]) by mx.google.com with ESMTP id 15si604404hui.2006.12.13.03.17.03; Wed, 13 Dec 2006 03:17:04 -0800 (PST) Received-SPF: neutral (google.com: 193.82.116.20 is neither permitted nor denied by best guess record for domain of owner-rsgb_lf_group@blacksheep.org) Received: from majordom by post.thorcom.com with local (Exim 4.14) id 1GuS34-00014B-Dn for rs_out_1@blacksheep.org; Wed, 13 Dec 2006 11:13:18 +0000 Received: from [193.82.116.35] (helo=relay3.thorcom.net) by post.thorcom.com with esmtp (Exim 4.14) id 1GuS34-000142-0U for rsgb_lf_group@blacksheep.org; Wed, 13 Dec 2006 11:13:18 +0000 Received: from ptb-relay02.plus.net ([212.159.14.213]) by relay3.thorcom.net with esmtp (Exim 4.63) (envelope-from ) id 1GuS2x-0002qT-Mj for rsgb_lf_group@blacksheep.org; Wed, 13 Dec 2006 11:13:17 +0000 Received: from [212.159.90.113] (helo=Hugh) by ptb-relay02.plus.net with smtp (Exim) id 1GuS2r-000097-Rm for rsgb_lf_group@blacksheep.org; Wed, 13 Dec 2006 11:13:06 +0000 Message-ID: <001b01c71ea7$a74afe30$1f03210a@Hugh> From: "Hugh_m0wye" To: References: <7D653C9C42F5D411A27C00508BF8803D073BABBB@mail.dstl.gov.uk> <457EDE5D.3070203@tele2.se> <457FDC0C.1090709@freenet.de> Date: Wed, 13 Dec 2006 11:12:57 -0000 MIME-Version: 1.0 X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.2869 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962 X-Spam-Score: 0.0 (/) X-Spam-Report: autolearn=disabled,none Subject: Re: LF: RE: SAQ Receiver for Window$ Content-Type: text/plain; format=flowed; charset="iso-8859-1"; reply-type=response Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on post.thorcom.com X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=none autolearn=no version=2.63 X-SA-Exim-Scanned: Yes Sender: owner-rsgb_lf_group@blacksheep.org Precedence: bulk Reply-To: rsgb_lf_group@blacksheep.org X-Listname: rsgb_lf_group X-SA-Exim-Rcpt-To: rs_out_1@blacksheep.org X-SA-Exim-Scanned: No; SAEximRunCond expanded to false Status: O X-Status: X-Keywords: X-UID: 3456 Hello Wolf, You wrote ... > A similar method is described in 'The Scientist's Guide to Digital Signal > Processing" (look for the overlap/add method in chapter 18; it's available > online for free ). Please can you give us the URL for this, as Google can't find it - sounds like a very useful document. 73 Hugh ----- Original Message ----- From: "Wolf DL4YHF" To: Sent: Wednesday, December 13, 2006 10:55 AM Subject: Re: LF: RE: SAQ Receiver for Window$ > Hi Johan and group, > > You wrote.. > >> >> Yes, but SAQrx uses a complex FIR filter for the main >> selectivity so it will take some CPU power if you want: >> >> 1. narrow passband width AND... >> 2. small ripple in the passband AND... >> 3. steep skirts AND... >> 4. large stopband attenuation >> >> i.e. a "brickwall" response. >> >> A complex FIR with, for example: >> >> Passband width = 100 Hz >> Passband ripple <= 0.1 dB >> Stopband width = 150 Hz >> Stopband attenuation = 80 dB (either side of +/-75 Hz) >> >> designed with Parks-McClellan requires 2 * 1526 = 3052 taps. >> The main filter in SAQrx is run at Fs = 11025 Hz. >> I think ~3000 taps would work OK on a fast machine although >> I haven't checked it. The existing 1000Hz filter has 2*206 taps. >> > As an alternative (since you already have the forward and inverse FFT in > your C-library) you could use FFT convolution for the filter, which > *greatly* speeds up large filter kernels. The basic principle is to split > up the incoming signal into overlapping FFTs (with say 4096 to 16384 > points), preferably using 50 % overlap and a raised cosine window, then do > the filtering by multiplying the spectra with the filter's amplitude, and > finally transform back to the time domain using the 'inverse' FFT. > Because (sin(x)^2) + (cos(x)^2) = 1, there is no unwanted amplitude > modulation caused by the FFT windowing if a 50 % overlap is used. I use > this method in my own application, and it allows to run filters in 'real > time' which are impossible with the classic FIR implementation (with > convolution in the time domain). You don't even need to design the filter > coefficients; all the algorithm needs is the filter's frequency response. > A similar method is described in 'The Scientist's Guide to Digital Signal > Processing" (look for the overlap/add method in chapter 18; it's available > online for free ). > > Cheers, > Wolf DL4YHF > > (happy to be back from hospital) > >