|
How to write a complex Digital Signal Processing(DSP) application with SignalLab using C#, VB.NET, J# or C++/CLI
This is a step by step tutorial for writing a complex Digital Signal Processing (DSP) application in .NET by using SignalLab. The steps are exactly identical in C#, Visual Basic .NET, C++/CLI and J#.
There is no code writing necessary to complete this application.
There is no need to know C#, Visual Basic, J# or C++ in order to create this application.
Here is what our application will do:
- The application will generate random signal.
- The signal will be plotted on a scope component.
- The signal will be filtered by a LowPass filter.
- The filtered signal will be recorded into a file.
- The filtered signal also will be plotted on the Scope.
- The application will perform Fast Fourier Transformation (FFT) on both the original and the filtered signal.
- The results of both FFTs will be shown in a separated Scope, and the FFT of the filtered signal will be shown in a Waterfall.
All of this will be done in less than 2 minutes, and without writing a single line of code.

The tutorial covers the following steps, which should take less than 5 minutes:
1. Add a RandomGen Component to Your Application's Form:

2. Add a LowPass Component to Your Application's Form:

3. Add 2 Fourier Components to Your Application's Form:

4. Add a Logger Component to Your Application's Form:

5. Add 2 Scope Controls to Your Application's Form:

6. Add a Waterfall Control to Your Application's Form:

7. Add 2 channels to both scope1 and scope2:

7.2. Add 2 channel in the ScopeChannel Collection Editor, rename them to “Random”, and “LowPass”, then click OK:

7.3. Repeat the same steps with scope2 so it will also have 2 channels named “Random”, and “LowPass”.
8. Connect the randomGen1.OutputPin to scope1.InputPins.Random, lowPass1.InputPin and fourier1.InputPin:


8.3. In the connection editor check the InputPins.Random of the scope1, InputPin of lowPass1 and InputPin of fourier1, then click OK:

9. Connect the lowPass1.OutputPin to scope1.InputPins.LowPass, logger1.InputPin and fourier2.InputPin:


9.3. In the connection editor check the InputPins.LowPass of the scope1, InputPin of logger1 and InputPin of fourier2, then click OK:

10. Connect the fourier1.OutputPin to scope2.InputPins.Random:


10.3. In the connection editor check the InputPins.Random of the scope2, and click OK:

11. Connect the fourier2.OutputPin to scope2.InputPins.Random and waterfall1.InputPin:


11.3. In the connection editor check the InputPins.LowPass of the scope2, and InputPin of the waterfall1, then click OK:

12. Select file name for the file to be recorded by the logger1:

12.2. In the logger1 Properties select the FileName property and enter the path and the name of the file where you want to record the processed data:

13. Run the Application:

Here is a diagram of the OpenWire connections in this application:

|