DSP filter DISPFIL.EXE
Version 1.09J - June 18, 2000 JE3HHT Makoto Mori
********************************************************************
This is a DSP filter tool using a PC with the soundcard.
You probably need a powerful CPU to make this tool run flawlessly.l In addition, you need a soundcard with the full-duplex mode. I made this program just because of my own interest.
===== How to uninstall ===== DSPFIL does nothing to the Windows registry, so just delete all the files with the directory that has DSPFIL files. ===== System requirement ===== OS: Windows 95, 98, NT
===== Hookup and Operation ===== Connect the speaker out of the radio to the Line-in or Mic of the soundcard.
Connect a
* Since the Mic input has too high gain, I recommend the Line-in. Adjust the input level by using Mic or Line level in the Record property or the audio in the control panel. You can do that by using the AF gain of your radio, too. Adjust the output level by using Wave or Master level in the Play property or the audio in the control panel. You also can do that by using Up (up arrow) or Down (down arrow) button on the DSPFIL window. If you have a sound output from your speaker without running DSPFIL.EXE,
your PC is
If you hear a sound immediately after starting DSPFIL.EXE, you are ready to go. In case you see a message like "Cannot open the sound device," your soundcard probably does not support the full-duplex mode. Give up listening to the filtered sound, but you can observe how DSPFIL.EXE works by the FFT and adaptive filter response windows. Since there is a time lag between the input and output, you should keep the buffer size as small as possible. The time lag has a big trouble in filtering CW signals (you will soon understand what it is when you transmit a signal, Hi). Too high input level causes distortion in the analog circuit of the soundcard. You have to adjust the input level by monitoring the FFT display set to "IN." When overdriven, DSPFIL shows "Over" in the upper right corner of the FFT window. When the HPF butten is depressed, the 100Hz high-pass filter is activated to the input circuit. It is effective if you have DC ingredient, but it raises the CPU load. Use it only when you need it. ===== Details of the filters ===== [NS4`NS16] This is a comb filter using moving average. This filter, by its structure,
gets the actual center
RFo= fss / int(fss/Fo) [Hz] ifss = fs / 2j This can be compensated by carefully choosing the sampling frequency
(fs). However, the
The filter does not use a simple averaging calculation but uses subtractions
for 1/2 periods.
[BP500`BP70] This is a band-pass filter using an FIR filter. It uses x3 oversampling.
The physical sampling
If the number of taps is increased, the filter become sharper. However,
it increases the
[LMSBP, LMSB2] This is an adaptive band-pass filter for CW. I have not tested a lot on the values of ƒÊ(mu) and ƒÁ (gamma), but I think the filter works, hi. This filter does not affect Fo or Tap, which is configured in the main window. The frequency-domain graph in the lower right corner shows the frequency characteristics of the transversal filter calculated with the coefficients, which are changed by LMS. You can see how the adaptation is performed by changing the frequency of the input signal. In case of weak signals, the filter coefficients tend to be small, which would result in a low level output. To compensate this, LMSB2 leaves the AGC turned on to increase the volume for the weak signals. [2.7K`1.8K] This is a fixed frequency BPF for SSB. The low-cut frequency is fixed
to 200Hz. If it
This filter does not affect the Fo, which is configured in the main window. [LMSNS] This is a noise smoother for SSB. The adaptive operation might not be
well tuned yet. The
This filter does not affect the Fo or Tap, which is configured in the main window. [LMSAN] This is an automatic notch filter for SSB. It would give better results if it had faster convergence behavior. However, I dare to focus on the response speed for CW signals. This filter does not affect the Fo or Tap, which is configured in the main window. [User1`User6] This is a user-customizable filter. The default setting gives a wide
band-pass filter for SSB.
This filter does not affect the Fo or Tap, which is configured in the main window. * User setting for the adaptive filters LMSBP, LMSNS, LMSAN are built-in filters, but the user can design a LMS filter by himself. Push DESIGN (this text is written in Japanese, so it might not correctly appear with non-Japanese Windows) button and select LMS, then push UPDATE (in Japanese text) button. Now you can change the parameters. The algorithm used in the adaptive filters is called Leaky LMS
The user customizable parameters are: Tap the number of orders of the
transversal filter
Larger u gives faster response but slower convergence.
If the REVERSE OUTPUT (in Japanese) is checked, DSPFIL outputs an error
signal. It is
The characteristics of the adaptive filters are dependent not only on u (mu) and V (gamma) but also on Delay and Tap. Change all of them to see what happens. ===== Use parameters that are given by another design software ===== If you want to test the filter coefficients that are calculated with another filter design software, try the following steps. 1. Push DESIGN button in User1 ? User6
Sampling frequency
Filter order
Coefficients
6. Start DSPFIL and push one of User1 ? User6
* CPU Power
73 de JE3HHT Makoto Mori |