Use cases, examples, procedures (v3.5)
User interface:
- Converting data from wav to text file format.
- Copying chart to clipboard.
- Copying 3D chart to clipboard.
- Multiple channels and legend
- Multirecord printing.
- Increase frames per second.
- Create multirecord files.
- Work with templates.
How to:
- Generate Gaussian noise in real time.
- Generate white Gaussian noise and color it (make it frequency band limited) by using FIR filter in real time.
- Make Gaussian noise white.
- Check the linearity of your signal processing equipment.
- Measure the frequency of a certain spectral component with highest possible accuracy.
- Test the coherence and the transfer function estimation. FFT properties also estimate power spectral density of the input and output and cross product.
- Estimate the frequency response of a tape recorder (simpler version).
- Verifying peak marking feature.
- Verifying peak filtering feature.
- Define the period of the chirp (sweep).
- Decimation and interpolation.
Verifying peak marking feature
- Start FFTProperties.
- Switch to FFT Control panel and set sample time to 100 ms. (Check off the sound check box)
- Switch to Signal generator panel and set Freq of Signal 1 to 100. (Press enter to confirm).
- Click with rigth mouse button on the chart displaying the frequency spectrum to bring up the popup menu.
- Activate the submenu Mark mode and then the submenu Interpolation. Select QuinnSecond.
- Bring the popup menu again and select Mark peaks (just below Mark mode). Move the mouse over the surface of the chart to see the movement.
- Position the red moving dot on the frequency peak of the frequency 100 Hz and press the left mouse button. Move the mouse again. The peak has been marked.
- Bring up the popup menu again and activate Mark mode submenu and then the submenu Trace mode. Select Current.
- Press the button with the letter S (Peak scale) on the toolbar next to the frequency spectrum chart.
- Use the up-down button to change the frequency of the signal 1 in increments of 1 Hz. Observe the value of frequency set and frequency detected and the value of amplitude set and detected. (The red dot should be constantly following the peak. If not go to step 8.)
- Observe that frequency and amplitude estimates are getting better towards the middle of the spectrum.
- Repeat the procedure for different peak interpolation methods.
- Switch to FFT Control panel and change the window parameter from Rectangular to Kaiser. Only the Numeric interpolation will now be giving correct results. It can be used with any window.
- Change the Sidelobe att. on the FFT Control panel to 90dB. Observe that the accuracy of the numeric interpolation has increased and has exceeded the accuracy of the Quinn's second interpolator with the rectangular window.
Verifying peak filtering feature
FFT Properties feature a unique linear phase, zero samples run-in run-out, peak filter. It does not affect other frequencies in any way. (no ripple). It's attenuation is defined only by the level of the noise and Kaisers window attenuation. It also preservers the rest of the original signal in full, thus retaining all the small frequency, amplitude and phase variations. (does not use FFT nor recursive formulas for filtering).
- Start FFTProp
- Switch to FFT Control and set sample time to 100 ms. (Check off the sound check box)
- Set window to Kaiser.
- Set zero padding to 2.
- Switch to Signal generator panel and set Signal 1 Freq to 100Hz.(Press enter to confirm).
- Press the S button next to the frequency spectrum to lock the axis scales.
- Left click the frequency spectrum to display the popup menu.
- Select Mark mode - Interpolation - Numeric, Select Mark mode - Trace mode - Current
- Select Mark mode - Amplt and Phase
- Press the M button next to the frequency spectrum and position the red mark on the frequency peak of 100 Hz.
- Press the left mouse button once.
- On the signal generator panel change the signal 1 frequency with the up-down button.
- Observe the phase of the signal.
- On the signal generator panel change the signal 1 phase and then again the frequency.
- Change the window of the FFT and repeat steps from 12 to 14.
- Change zero padding to different values and repeat steps from 12 to 14.
- Set signal 2 frequency to 400 Hz and the amplitude to 1. Set the signal 1 frequency to 198 Hz.
- Switch to logarithmic axis by pressing the log button next to the frequency spectrum chart.
- Filter out the marked peak by pressing the F button next to the frequency spectrum chart.
- Observe the time signal. Now displaying only one sine.
- Go File-Open, select the *.sfs file types.
- Select the bz.sfs file.
- On the popup menu of the frequency spectrum select mark mode - Peak filter mode.
- Switch back to linear scale by pressing the Lin button.
- Position the red dot of the mark on the largest peak.
- Click the left mouse button.
The peak has been filtered out. To get more info o numeric peak interpolation and peak filtering press F1 - contents, select signal analysis, frequency spectrum popup menu. Search for Mark mode. For maximum accuracy increase sidelobe attenuation on FFT Control panel.
Converting data from wav to text file format.
- Start FFTProp.
- Open a wav file.
- Select File from the main menu and click Save time signal. Select either the sfs, asc or sgl format and enter the name of the text file.
Creating multirecord files.
- Start FFTProp.
- Open a file.
- Select File from the main menu and click Save time signal. Select either the .sfs (text), .dbn (double) or .bin (single precision binary) format and enter the name of the new multirecord file.
- Make sure the Append box is checked.
- Press Save.
- Open next file to be added.
- Repeat steps from 4 to 6 for all the single record files that you wish to join.
- Open the new file.
- Switch to File Input panel.
- Use File record, to switch between records.
Notes: Multirecord printing will work only with multirecord files. Alternative method for creating multirecord files:
- Start FFTProp.
- Click Append button on the File Input panel. The currently displayed time signal will be appended to the selected file name.
- Use this method to create snapshots of the time series. (Useful for creating a series of representative records.)
Copying chart to clipboard.
- Start FFTProp.
- Bring up the popup menu of the chart by rigth clicking on it and select Options.
- Select the Printer/File/Clipboard option on the top of the dialog box. This will define the chart setting for output. Screen display has separate configuration.
- Define the colors and format of your choice. Click OK to confirm and save the settings for the future.
- Bring up the popup menu of the chart by rigth clicking on it and select copy. The chart can now pasted to any application.
Copying 3D chart to clipboard.
- Start FFTProp.
- Load any file.
- Click 3D button on the toolbar next to the frequency spectrum chart.
- On the File input panel move along the samples of the file by clicking the up-down button of the Sample edit box. Observe how does the chart react.
- Use buttons on the top of the chart to rotate, move, ...
- In order to save the display settings bring up the popup menu of the chart by rigth clicking on it and select Options.
- Switch to Printer/File/Clipboard option on the top of the dialog box and then back to Screen option. The 3D settings have now been saved in to the output configuration. The size of the waterfall can be defined on the Waterfall panel.
- Bring up the popup menu of the chart by rigth clicking on it and select copy. The chart can now pasted to any application and configuration has been saved for the future.
Work with chart templates.
- Start FFTProp.
- Save template under a new name.
- To define new chart screen and output format bring up the popup menu of the chart by rigth clicking on it and select Options.
- Select Screen or Printer/File/Clipboard configuration.
- Define separate formatting for screen and output of your choice.
- All subsequent changes to will be automatically saved to the same template.
- From the main File menu select save template. This will save the chart configurations for screen and output of all the charts under a new name.
- To load the template simply select Load template and select the name.
Notes: Charts will be printing black, if the Printer/File/Clipboard configuration was not set to different color formatting.
Decimation and interpolation
- Start FFTProp.
- Select Decimation from the File menu.
- Load a file from the file menu.
- Define the up-sample down-sample factors.
- Select Save from the file menu to save the processed file.
Multiple channels and legend
- Start FFTProp.
- Bring up the frequency spectrum popup menu by left clicking the chart and select Channels- Visible - Channel 2.
- Switch to channel 2 by selecting the CH2 button in the top-right corner.
- Work with the channel two the same way as with channel one.
- Define the channel name and the name of the series by selecting Options from popup menu enter a new name for the series on page.
- Switch to Legend panel and select visible if you want to see the Legend. (Do not forget the screen or File/Print/Clipboard configuration).
- If you have reversed steps 6 and 7 bring up the chart options dialog again and switch once between the two configurations. (Screen and Output).
Multirecord printing.
- Start FFTProp.
- Load a multirecord file. Only data from files can be printed.
- The range of samples being printed is defined by the current Sample position and the Max frames on the File input panel. Frame numbers within the interval defined will be printed. (Max Frames is not offset).
- File Menu - Page setup - Record settings displays the printing statistics. Look out for large number of pages. A large number of different fields can be printed along the charts. (Page, date, frame,...). Fields are chart associated. (RMS of the signal will only print with time signal chart displaying the time signal).
- Depending on the state of charts (power spectrum, auto correlation etc.) the correct (current) analysis will be printed. Even peak trace will function normally.
- To print the selected samples select Print from the File menu.
Notes: The record selection (From - To) on Record settings panel of the Page setup dialog box will allow selection of more then one record only if a multirecord file is loaded in the currently active channel.
Charts will be printing black, if you have not defined Printer/File/Clipboard configuration in the Options dialog box.
Generate Gaussian noise in real time.
- Press Generator button.
- Select Gaussian noise from the Signal type box on the Signal generator panel.
- Set Signal 2 DC value to 10000.
- Switch to channels panel and assign the left audio channel by selecting "1" or from the CH out box.
- Press "play" and then press the Monitor button.
- You should be seeing a running noise signal and hearing it on the speakers.
Generate white Gaussian noise and color it (make it frequency band limited) by using FIR filter in real time.
- Set sampling frequency to 44100 Hz by selecting Options-Sound card – Sampling Freq.
- On the FFT Control panel click the Sound check box.
- Generate Gaussian noise, but don’t press play yet.
- Switch to FIR Design panel and set the following values: Low Pass, CenterFrequency: 2500, Bandwidth: 5000, Transition BW1: 2500. Stopband attenuation: 60 dB, Ripple: 0.001.
- Check the Active and Continuous box on the FIR Design panel.
- Select Timing test from the Filter menu. This test will measure, if the designed filter is fast enough for real time. The filter should be at least 10 times faster then needed by real time in order not to affect the display speed too much.
- Switch to channels panel and assign the left audio channel by selecting "1" or from the CH out box.
- Press "play" and then press the Monitor button.
- You should be seeing a running noise signal and hearing it on one speaker.
- If you switch to logarithmic scale of the frequency spectrum, it may not seem as if the signal is attenuated by 60 dB in the stopband region. To see the effect, select Hanning window on the FFT Control panel window box. If you set attenuation higher then 60dB, you should use Kaisers window with adjustable sidelobe attenuation (FFT Control panel – Sidelobe att.) and set it to a value higher then the FIR filter attenuation.
- You can stabilize the axis scaling by pressing the S button next to the two charts. This will activate peak scaling and the axis will scale on the maximum and hold.
- Make sure that you switch the filter off before switching to a different spectrum resolution or loading a file. This will prevent presumably "unexpected" results.
Make Gaussian noise white.
- Generate Gaussian noise in real time.
- On the FFT Control panel select Infinite linear averaging
- Observe how the spectrum is becoming almost flat. The spectrum would become a completely straight line only in the infinity and with a truly random generator. Random generators available today only have a very long cycle.
- You can reset averaging by pressing the R button next to the Averaging drop down box.
Notes: Only power spectral density of the Gaussian noise has a flat (white) spectrum. Power spectral density is averaged power spectra.
Increase frames per second.
- Reduce the number of samples in the frequency spectrum, by selecting a smaller value from the Samples box on the FFT Control panel.
- Switch off either Time signal or Frequency spectrum by un-checking it on the View menu.
- Reduce the window size.
- Typically you can achieve 10 FPS on P133 with both charts active, full screen, 1024x768 resolution and 16-bit color. You can have anything up to 50 FPS on Celeron 366.
- You can double FPS, if you use WNT 4.0, by switching to 256 screen color mode.
Check the linearity of your signal processing equipment
- Linear operations are delay and amplification (attenuation).
- By estimation of coherence of the system, you get an estimate of the amount of non-linearity’s present in the system. This may be multiplication (sidebands, harmonic distortion), frequency "compression" (if the tape recorders speed is different when playing then it was when recording or is varying) and other sources of non-linearity’s like clipping.
- Next to evaluating the coherence, you can look at the frequency transfer function also called the frequency response of the system.
- You can specifically check for multiplicative non-linearity’s, by using the HOS or higher order spectra methods. Bicoherence will be one (1) at the frequency that is solely a result of multiplication between two frequencies. It will be close to zero, if there is no multiplicative interaction between the two frequencies. However, the estimation is heavily dependent upon the stationarity of the signal and the spectral resolution. Signal length required for estimating Bicoherence should be at least 20 times window length. You can also use very high overlapping (File input panel), if you do not care about frequencies close to DC very much.
- Coherence will be one (1) at all the frequencies that were not affected by non-linearity’s. It will be close to zero everywhere, where non-linearity's are strong.
Measure the frequency of a certain spectral component with highest possible accuracy.
- You can increase frequency resolution by selecting more Samples from the Samples box on the FFT Control panel. Observe the RES label above the Frequency spectrum to read out current spectral resolution.
- Use peak marking feature with peak interpolation. Marked peaks can automatically follow your frequency by setting Trace mode to Largest or Current. (Frequency spectrum popup menu, Mark mode, Trace mode).
Test the coherence and the transfer function estimation.
FFT properties also estimate power spectral density of the input and output and cross product.
- Generate Gaussian noise and save it to file. (File – Save time signal). Save 100000 samples in the file.
- Load the saved file.
- Design a FIR filter by switching the source to Filter.
- Activate logarithmic scale by pressing the Log button next to the frequency spectrum chart.
- Remember how the frequency spectrum looks like. (Make sure that on Signal generator panel the DC1, DC2 and DC3 are zero) and write down filter length.
- Switch the source back to File (press File button) and activate FIR filter by checking the Active check box on the FIR design panel.
- Save the signal to a different file, but make sure that Filter box was checked also in the Save options dialog box. Save 100000 samples in the file.
- Press the CH2 button to switch to channel 2 and open the filtered file. You will not see the second file displayed until you switch back to CH1 and you left click the frequency spectrum chart and select Channels – Visible – Channel 2.
- On the file Input panel (for channel 2) enter in the Samples box one half of the filter length.
- With Channel 1 active (CH1 button down) select Channel 2 from the Attached channel box on the Channels panel. Make sure that you uncheck the Active check box on the FIR Design panel, or the loaded file will be filtered once again.
- Select Hanning window on the FFT control panel
- Select Cross analysis from the Analysis menu.
- Left click the chart to bring up the popup menu.
- Switch to Transfer function.
- Select Log amplitude from the popup menu. You should now be looking at the same picture that you saw when designing the filter.
Notes: Observe that you have extracted the shape of the filter through which the Gaussian noise was filtered. You required the original Gaussian noise and it's filtered version. You also had to synchronize both time series (step 9). This synchronization does not has to be exactly on sample accurate, but you should hit it within +/- 10% of the FFT time window length to get reasonable results. Fill free to change the Sample offset value defined in step 9 to see the difference. The delay of the filter here was calculated ((length-1)/2), because we knew what kind of a filter we have used. In real world you might want to try something else to estimate the filter delay. Also, if we had used longer FFT window (1024 samples) the relative error of few samples would be smaller.
Estimate the frequency response of a tape recorder (simpler version).
- Generate Gaussian noise and save it to file.
- Play the file, by selecting OUT ch 1 and pressing Play and Monitor buttons and record the noise on the tape.
- After about 20 seconds have been recorded, stop playing by pressing the play button and Set IN ch of channel 1 to 1. (make sure that you have also recorded on the track 1). Audio channel 1 is the Left channel.
- Press Record and Monitor buttons.
- Set averaging to Finite linear and Averages to 100 on the FFT control panel.
- Set window to Kaiser on the FFT control panel.
- Play the noise recorded on the tape back.
- Press R button on the FFT control panel to reset averaging.
- After the desired number of averages has been taken: switch to logarithmic scale by pressing the log button next to frequency spectrum chart.
- You should now be looking at what the sound card and the tape recorder have done to the linear Gaussian noise. The frequency response.
Notes: More accurate estimation can be obtained by using the Cross spectral analysis. See transfer function estimation. On the other hand, if there are strong non-linearity's present, this may be the preferred method.
Define the period of the chirp (sweep)
- To generate chirp signal set Signal Type to transient.
- Frequency of signal 1 defines the starting frequency and Frequency of signal 2 defines the ending frequency. Same goes for amplitude. The amplitude of signal 3 defines the period.
Notes: You can have increasing or decreasing frequency sweeps with attenuating or amplificated amplitude and user definable sweep speed.