On Thu, Oct 27, 2005 at 10:23:33PM +0100, James Courtier-Dutton wrote: > I want to plug a ham radio receiver into the sound card of my PC, and > use the CPU of the PC to tidy up the signal, to hopefully make it more > readable. > One form of communications is called Morse Code, where a single tone is > switched on and then off to pass a signal over the radio. > > I know it is easy to do band pass filters in Linux so that only the tone > gets through, but the other really useful thing would be a noise filter.
There really is no such thing as a 'noise filter' - noise usually occupies the whole band, so a noise filter would remove all of the signal ! The only thing you can do is remove the noise in those parts of the spectrum you don't want to hear. For Morse, a bandpass will let through the tone you want and attenuate all the rest, so only the noise very close (in frequency) to the tone remains. This will improve the S/N ratio if there is wideband noise. There will be a tradeoff for the bandwidth of the filter you need. If you make it too narrow, the clear on/off edges will be smeared out and less clear, and it will also be difficult to track the signal if its frequency is not very stable. If you make it wider, more noise will get through. Also, human hearing is quite good at detecting a single frequency in a noisy background, so filtering will help only if there are other forms of interference (and that's of course quite likely on the SW bands). That's one of the reasons why Morse works quite well even with very primitive equipment. There must be a number of LADSPA plugins that do exactly what you need. Have a look at http://www.ladspa.org. As a host, you can use jackrack, AMS, ecasound, and many others. -- FA