¿ªÔÆÌåÓý

DSP cheap for qrp


 

Hi, I shared a project of an economic and simple dsp, it is based on the processor arm cortex stm32f103 whose module is at a cost less than two dollars in online shop. I implemented two narrow cw filters of about 300 and 700 hz and two ssb filters with a width of less than 2200 hz and less than 3300 hz plus a 6-level noise reduction algorithm. The project is very cheap solution and is suitable to embed in every qrp project. The? project is now on github is still experimental but it is not bad. The project is here:?



Some test here:





Best 73 de IK8YFW GIUSEPPE.

?


 

Giuseppe

Thank you for sharing wonderful project.
I did not even try because stm32f103 does not have fpu and dac.?
(Compilation is the same, but FIR and IIR are implemented internally as software)
But you overcame it nicely.?Perhaps using PWM and a capacitor, it seems to have a DAC effect.
If you make it possible to pass by physical switch, uBITX can be applied very easily.
If you need a filter simulation using Matlab, please email me. I will help you.

Ian KD8CEC


2018-04-25 19:48 GMT+09:00 Giuseppe Callipo via Groups.Io <ik8yfw@...>:

Hi, I shared a project of an economic and simple dsp, it is based on the processor arm cortex stm32f103 whose module is at a cost less than two dollars in online shop. I implemented two narrow cw filters of about 300 and 700 hz and two ssb filters with a width of less than 2200 hz and less than 3300 hz plus a 6-level noise reduction algorithm. The project is very cheap solution and is suitable to embed in every qrp project. The? project is now on github is still experimental but it is not bad. The project is here:?



Some test here:





Best 73 de IK8YFW GIUSEPPE.

?



--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
(my blog)


 

Thanks, Ian, you are right, the cortex m3 is a small processor unit, and no DSP extension like the f4, the main reason was the price of midules, I got one module for less than 2 dollars, and the challenge start. The cmsis library help a bit also if you can see the processor load for massive processing. But the simple fir run not bad. After fir I started to do some experience on Noise Reduction, I worked in time domain using simple smoothing algorithms. The processor has not enough power to make Spectrum subtraction methods but I plan to make other tests maybe using a cortex m4 processor, it is not a full DSP but I'm curious to see how it works. I found some modules at cost of 7 dollars with stm32f407. Feel free to use share and cobtribcon on project, I have a bitx40 and plan to add as external module or internal unit using existing onboard lm386. I calculate the filters with online calculator (I put the address on GitHub), I have not Matlab ( use more years ago at the University ) a simulation or calculus of filters could be usefull, for the ssb I build small fir with few taps 9 or 11 to have no audio distorted, for the CW I worked with over 60 taps, I compared more calculator online and this was the best results .? Thanks for help.?

The filters for CW are 300 hz width centered to 700 hz and 700 hz (circa) centered to 700 hz, these are band pass.

For ssb we have two lpf of 2200 and 3300 that I used in both with the cw bpf as decimator and they sounds better.

Bye ik8yfw.


 

Giuseppe

I recommend your pretty project.?
Even if it is stm32f103, I think it will work well if only FIR or IIR are performed without any operation.
Perhaps the clarity of the sound quality will decrease. (Even if bypassed),?But I think I can use it in CW.
Maybe your code might work nicer.?Please continue this wonderful project.?People may have a DSP filter of $ 2.
I hope that this beautiful project will be successful and used by many people.

My weekend project decided to do this.
I will test the FIR performance on the STM32F103 over the weekend.

Ian KD8CEC

2018-04-25 21:51 GMT+09:00 Giuseppe Callipo via Groups.Io <ik8yfw@...>:

Thanks, Ian, you are right, the cortex m3 is a small processor unit, and no DSP extension like the f4, the main reason was the price of midules, I got one module for less than 2 dollars, and the challenge start. The cmsis library help a bit also if you can see the processor load for massive processing. But the simple fir run not bad. After fir I started to do some experience on Noise Reduction, I worked in time domain using simple smoothing algorithms. The processor has not enough power to make Spectrum subtraction methods but I plan to make other tests maybe using a cortex m4 processor, it is not a full DSP but I'm curious to see how it works. I found some modules at cost of 7 dollars with stm32f407. Feel free to use share and cobtribcon on project, I have a bitx40 and plan to add as external module or internal unit using existing onboard lm386. I calculate the filters with online calculator (I put the address on GitHub), I have not Matlab ( use more years ago at the University ) a simulation or calculus of filters could be usefull, for the ssb I build small fir with few taps 9 or 11 to have no audio distorted, for the CW I worked with over 60 taps, I compared more calculator online and this was the best results .? Thanks for help.?

The filters for CW are 300 hz width centered to 700 hz and 700 hz (circa) centered to 700 hz, these are band pass.

For ssb we have two lpf of 2200 and 3300 that I used in both with the cw bpf as decimator and they sounds better.

Bye ik8yfw.



--
Best 73
KD8CEC / Ph.D ian lee
kd8cec@...
(my blog)


 

Thanks, Ian, as soon as possible I'll designs a better schematics and support notes.

Bye, ik8yfw.


 

Ebay has a number of kits with the blue pill and an ST2-Link for
programming. Do you know if that will work with the download
software you mention?

tim ab0wr

On Wed, 25 Apr 2018 09:14:37 -0700
"Giuseppe Callipo via Groups.Io" <ik8yfw@...> wrote:

Thanks, Ian, as soon as possible I'll designs a better schematics and
support notes.

Bye, ik8yfw.


 

Hi Tim, I use a converter got from china online shop, I think that it is not critical, the programming module is the ch340g like this




And the blue pill is the small card, like this:?



Other modules should be used, but I don't at the moment.?

Ik8yfw.


 

Hi Ian, I'm Giuseppe, I worked on the small project in stm32f103 based DSP last year, now I'm working on new project based on Cortex M4 processor cheap but performing, and the goal Will be ti creare a monitor with audio controlls like NR variabile filters and other stuff to help and enfatize the audio in rtx home made. Now I'm working on Noise Reduction module and have some results. The DSP tests continue, the Digital Noise Reduction DNR module is ready, in tests the audio signal is taken from a yaesu ft817 sampled at 44kHz and digitally filtered at 12kHz before being processed by the DNR module with Spectral Subtraction technique widely used in modern RTX.?
Next step are the filtering and better user interface ( i use the ic781 theme, simple and fast). When completed I will share It on GitHub.

Best 73 de ik8yfw.

Link1:

Link2:

Link3:

Link4:


 

Thank youfor share!

FT'sss73!
Renato
py2rlm

Em ter, 18 de dez de 2018 05:57, giuseppe callipo <ik8yfw@... escreveu:

Hi Ian, I'm Giuseppe, I worked on the small project in stm32f103 based DSP last year, now I'm working on new project based on Cortex M4 processor cheap but performing, and the goal Will be ti creare a monitor with audio controlls like NR variabile filters and other stuff to help and enfatize the audio in rtx home made. Now I'm working on Noise Reduction module and have some results. The DSP tests continue, the Digital Noise Reduction DNR module is ready, in tests the audio signal is taken from a yaesu ft817 sampled at 44kHz and digitally filtered at 12kHz before being processed by the DNR module with Spectral Subtraction technique widely used in modern RTX.?
Next step are the filtering and better user interface ( i use the ic781 theme, simple and fast). When completed I will share It on GitHub.

Best 73 de ik8yfw.

Link1:

Link2:

Link3:

Link4:


 

great news. perhaps if you stick to straighr c code, we could pull this into other platforms like rpu and teensy?


On Tue, 18 Dec 2018, 18:03 Renato Martins <py2rlm@... wrote:
Thank youfor share!

FT'sss73!
Renato
py2rlm

Em ter, 18 de dez de 2018 05:57, giuseppe callipo <ik8yfw@... escreveu:

Hi Ian, I'm Giuseppe, I worked on the small project in stm32f103 based DSP last year, now I'm working on new project based on Cortex M4 processor cheap but performing, and the goal Will be ti creare a monitor with audio controlls like NR variabile filters and other stuff to help and enfatize the audio in rtx home made. Now I'm working on Noise Reduction module and have some results. The DSP tests continue, the Digital Noise Reduction DNR module is ready, in tests the audio signal is taken from a yaesu ft817 sampled at 44kHz and digitally filtered at 12kHz before being processed by the DNR module with Spectral Subtraction technique widely used in modern RTX.?
Next step are the filtering and better user interface ( i use the ic781 theme, simple and fast). When completed I will share It on GitHub.

Best 73 de ik8yfw.

Link1:

Link2:

Link3:

Link4:


Jack Purdum
 

Farhan:

Check out the video at:


Some of this is already being done.

Jack, W8TEE

On Tuesday, December 18, 2018, 12:05:19 PM EST, Ashhar Farhan <farhanbox@...> wrote:


great news. perhaps if you stick to straighr c code, we could pull this into other platforms like rpu and teensy?


On Tue, 18 Dec 2018, 18:03 Renato Martins <py2rlm@... wrote:
Thank youfor share!

FT'sss73!
Renato
py2rlm

Em ter, 18 de dez de 2018 05:57, giuseppe callipo <ik8yfw@... escreveu:

Hi Ian, I'm Giuseppe, I worked on the small project in stm32f103 based DSP last year, now I'm working on new project based on Cortex M4 processor cheap but performing, and the goal Will be ti creare a monitor with audio controlls like NR variabile filters and other stuff to help and enfatize the audio in rtx home made. Now I'm working on Noise Reduction module and have some results. The DSP tests continue, the Digital Noise Reduction DNR module is ready, in tests the audio signal is taken from a yaesu ft817 sampled at 44kHz and digitally filtered at 12kHz before being processed by the DNR module with Spectral Subtraction technique widely used in modern RTX.?
Next step are the filtering and better user interface ( i use the ic781 theme, simple and fast). When completed I will share It on GitHub.

Best 73 de ik8yfw.

Link1:

Link2:

Link3:

Link4:


 

Hi Farhan, thanks for reply, obviously it is an honor for me to have your attention, thank you.
ofcourse it is possible to port it to other platforms,?
some months ago I worked on small audio processor based on Cortex M3 CPU stm32f103 it is?
extremely cheap module (less than 2 dollars), and I done first tests with filtering and simple noise reduction,
but it has not an efficient FPU and don't have a DSP hardware internal unit.?
Now using the Cortex M4, exactly the stm32f407 simple board ( the "china" price is less than 12 dollars shipped ),
I can test a more performed codes using standard opesource framework CMSIS to built a serious Noise Reduction.
I chose this hardware platform because it is very widespread and not tied to a particular vendor,?
because they are all arm cortex, so I can bring the same algorithm on Cortex M4 STM, but also Texas and so on.?
This allows to absolutely reduce the costs obtaining quality of industrial grade.
Currently I use the card stm32f407 (cost 12 dollars) a 320x200 display (cost 3 dollars) an encoder?
(cost $ 1.5) and a small circuit with 3 resistors and a capacitor (2 dollars). So a total cost less than 20 dollars.

These small cards are made to work very well with audio, implementing a Fir filter with the CMSIS platform is very simple and efficient.

The project will continue with the addition of a variable-width filter suitable for CW, SSB, digital modes and AM broadicast, hoping that the processor holds up the load.

Now I'm working to adjust the code readability then I'will share it as far as possible? on github as opensource like other projects.

I hope it can be useful. vy 73 de Giuseppe IK8YFW





 

?
Nice work Jack, I saw the pictures. The teensy audio library is very flexible. I am experimenting on the m4 cortex at a very low level but using the CMSIS framework, it seems good, it is not as high level as the teensy library, but it works. I saw the works of Alberto I2PHD, on Arm Radio and DF8OE (UHSDR / MCHF) and they seem very interesting, especially the UHSDR that has implemented a complex Noise Reduction, I continued the study to simplify the algorithm, still needs of "cures" but is working. See you soon, vy 73 de Giuseppe IK8YFW.


 

I shared Just now the source code on GitHub:?

In the last release i added 4 filters with several bandwith ( 16kHz, 6kHz, 3kHz and 500Hz ).
Now you can select two display mode: spectrum or Waterfall as show in this short video:?

I Wish you an Happy new year.
Vy 73 de Giuseppe, Ik8yfw.


Mark M
 

Giuseppe, could you post a link to the board you use for this? I see several different boards on eBay but I'm not sure which one would be best for this.

Thanks & 73...? ? ? Mark? ? AA7TA


 

Yes Mark, the board Is the stm32f407 "black" , Is a core board cheap than the Discovery series.
Here the photo:?

Make a search as: "stm32f407 black" or "stm32f407 core". The project can run in any f4 series.?
Hope this can help you.
G.


 

Hello Giuseppe,

Can you please describe the components that couple audio into and out of the STM32?? It sounds like simple RC filters, at least in the case of your STM32F103 implementation - but I couldn't find a schematic or description anywhere (I apologize if I just missed it!).

One thing to possibly consider - I2S ADC and DAC parts are rather inexpensive, and it looks like you can get cheap breakout boards for a handful of normal audio DAC and ADC parts (the PCM1808 ADC, for instance, and the UDA1334A DAC).? The STM32 family (and likely all modern ARM uC parts) supports I2S interfaces, so you could improve your dynamic range and noise figure by using out-board ADC and DAC parts at the additional system cost of <$10USD; I don't believe that the programming should be difficult, but I don't have any direct experience with the I2S ports on the STM32.? Even just replacing the input ADC would improve dynamic range significantly, and have the software provide gain control behavior so that output utilized the 12-bit DAC effectively with 16-bit signal data.

Thank you for all of the information that you have provided thus far - this looks like a very interesting base to build upon!? I've used STM32 parts for years on the bench to do simple control tasks, and they've worked well for me.

Josh, KB8NYP

On Mon, Dec 31, 2018 at 6:49 PM giuseppe callipo <ik8yfw@...> wrote:
Yes Mark, the board Is the stm32f407 "black" , Is a core board cheap than the Discovery series.
Here the photo:?

Make a search as: "stm32f407 black" or "stm32f407 core". The project can run in any f4 series.?
Hope this can help you.
G.


Mark M
 

Thanks, Giuseppe. I found them on Amazon for about $10 each and have a couple on the way.

Happy New Year!

73...? ? Mark? ? AA7TA


 

Thanks Josh and Happy new year.?
The first project was that based on f103, It was like a challenge to make e cheapest dsp ever, if you follow the link GitHub of the 103 you will found the schematic jpg.
Forse the Stm32f4 instead, i will consider also a discovery series st board but It Is more expensive and the ADC on boarboard can work only at audio frequencies. I make this project as starting point, for example increasing the sample frequency you can transform It from audio DSP to if-dsp and out inside other code to handle modulation like the ArmRadio project that you found with a simple search. Of course of the finalmente use Is as audio DSP the best solution Is using a discovery board or ADC DAC card interfaced by i2c, the code change only the ADC DAC setup. In the next days i Hope to add some info about the schematic, but are only wire cinnections and a small module to get signal in out the Stm32.
There are some experiences with the convolution filtering that need to do but Need a lot of study about It?

Have a nice day, if you can some tests send me info about It.
Best 73 and Happy new year. Ik8yfw


 

Josh do you know any pre assempled module with ADC/DAC parts to connect to stm32f4 core module? But It must be cheap than a discovery board.?

I see the audio module of teensy modules but I don't know if It Can be used.

Thanks.