fpga-open-speech-tools / simulink_models

Simulink models for speech and audio processing
MIT License
4 stars 4 forks source link

Noise suppression updates #72

Closed dack-fe closed 3 years ago

dack-fe commented 3 years ago

Closes #70

fe-wickham commented 3 years ago

Looks good to me, especially if we don't mind that the MATLAB simulation doesn't exactly match the Simulink model. My best guess is that the differences are due to data type issues.

It looks like there might be a little bit more going on than data type, however we are presently using the verification as more for comparison on this model than claiming that is exactly what we implemented.

tvannoy commented 3 years ago

It looks like there might be a little bit more going on than data type, however we are presently using the verification as more for comparison on this model than claiming that is exactly what we implemented.

You are right. I just had another look at adaptiveWienerFilt, and it was using the incorrect calculations for mean and variance; ironically, both versions of mean/variance calculations were in the code... :facepalm:

The verification results are much closer now, though still not perfect. I think the verification code now actually does the same calculations as the simulink model. I now realized that the Simulink implementation seems to be ignoring the if variance < noiseVariance variance = 0 condition from the original algorithm. Oh well.