Forums

Pink noise generator on FPGA

Started by keffe 6 months ago3 replieslatest reply 5 months ago177 views

Hello! 

I want to implement a pink noise generator for audio frequencies on an FPGA, using VHDL.

However, i found that not much information on this, is to find. 

I have looked at the Voss algorithm, but all examples are in higher level languages, and my lacking experience on VHDL disallows me to convert these examples to VHDL.

Does anyone have any experience with this, or know any example code?




[ - ]
Reply by StenzDecember 5, 2018

Maybe have a look at my pink noise generator here:

https://github.com/Stenzel/newshadeofpink

Ignore the hack on floats and focus on the integer version. The core is basically a VOSS style noise bank oversampled by a multirate CIC filter.

Someone once used it in an FPGA because the low memory and operation count, depending on your requirement or sampling rate you could further simplify it by removing the FIR part.

[ - ]
Reply by josybDecember 5, 2018

This may get you started: https://www.dsprelated.com/showarticle/908.php

I think doing it in MyHDL and then converting it to VHDL (by MyHDL) wil make life easier, at least simulating your RTL

[ - ]
Reply by asserDecember 7, 2018

Usually, the pink noise is derived from the white noise by the filtering.

Build the white noise generator based on LSFR, 

and attach to its output some band pass filter.

I think that simple IIR filter would do.

Or two filters: one of them is low pass filter, and other is high pass filter.