QuantAsylum / QA40x

Releases (no source) for the QA402 and QA403 Audio Analyzer.
https://quantasylum.com/products/qa402-audio-analyzer
13 stars 1 forks source link

PeakDbv does not handle same end frequency as other APIs #12

Closed blurpy closed 2 years ago

blurpy commented 2 years ago

Example with running measurements between 20Hz and 24kHz, with a sample rate of 48kHz:

Screenshot_20211001_191614

Seems all the other APIs (that I use) handle this and return status 200 and a value, except peak which returns status 400 and Bad Request: Exception: (Illegal values passed to FindPeakBin).

This is a full log with all the requests setting up the measurement and making the measurement:

---
Time 19:15:08.576
GET Request:http://localhost:9402/Status/Version
Return: { "SessionId":"331779053", "Value":"0.9999" }
Status: 200 (Elapsed: 1.39 mS)
---
Time 19:15:13.146
OPTIONS Request:http://localhost:9402/Settings/BufferSize/32768
Status: 204 (Elapsed: 3.01 mS)
---
Time 19:15:13.151
PUT Request:http://localhost:9402/Settings/BufferSize/32768
Return: { "SessionId":"331779053" }
Status: 200 (Elapsed: 3.90 mS)
---
---
Time 19:15:13.181
Time 19:15:13.181
OPTIONS Request:http://localhost:9402/Settings/Input/Max/42
---
OPTIONS Request:http://localhost:9402/Settings/AudioGen/Gen1/On/1000/-10
---
---
---
Status: 204 (Elapsed: 1.33 mS)
Time 19:15:13.182
Status: 204 (Elapsed: 1.60 mS)
Time 19:15:13.182
---
Time 19:15:13.182
Time 19:15:13.182
OPTIONS Request:http://localhost:9402/Settings/AudioGen/Gen2/Off/4500/-40
---
OPTIONS Request:http://localhost:9402/Settings/OutputSource/Sine
Time 19:15:13.183
OPTIONS Request:http://localhost:9402/Settings/Windowing/Hann
OPTIONS Request:http://localhost:9402/Settings/SampleRate/48000
Status: 204 (Elapsed: 2.55 mS)
Time 19:15:13.183
Status: 204 (Elapsed: 2.96 mS)
PUT Request:http://localhost:9402/Settings/Input/Max/42
---
---
Status: 204 (Elapsed: 3.51 mS)
Status: 204 (Elapsed: 3.85 mS)
---
---
PUT Request:http://localhost:9402/Settings/AudioGen/Gen1/On/1000/-10
Return: { "SessionId":"331779053" }
Time 19:15:13.185
Time 19:15:13.185
Time 19:15:13.186
Time 19:15:13.186
Return: { "SessionId":"331779053" }
Status: 200 (Elapsed: 16.33 mS)
PUT Request:http://localhost:9402/Settings/AudioGen/Gen2/Off/4500/-40
PUT Request:http://localhost:9402/Settings/OutputSource/Sine
PUT Request:http://localhost:9402/Settings/Windowing/Hann
PUT Request:http://localhost:9402/Settings/SampleRate/48000
Status: 200 (Elapsed: 19.31 mS)
Return: { "SessionId":"331779053" }
Return: { "SessionId":"331779053" }
Status: 200 (Elapsed: 23.27 mS)
Return: { "SessionId":"331779053" }
Status: 200 (Elapsed: 24.79 mS)
Return: { "SessionId":"331779053" }
Status: 200 (Elapsed: 25.53 mS)
Status: 200 (Elapsed: 26.80 mS)
---
Time 19:15:25.134
POST    Request:http://localhost:9402/Acquisition
====================
Acquisition started. Fs: 48000 FFTSize: 32768 Window: Hann Rounding: True  Max Input: 42 dBV
Acquisition completed. Elapsed 0.86 seconds.
Return: { "SessionId":"1021500266" }
Status: 200 (Elapsed: 909.14 mS)
---
---
---
---
---
Time 19:15:26.48
---
Time 19:15:26.50
Time 19:15:26.50
Time 19:15:26.50
Time 19:15:26.50
GET Request:http://localhost:9402/ThdDb/1000/24000
Time 19:15:26.50
GET Request:http://localhost:9402/ThdPct/1000/24000
GET Request:http://localhost:9402/ThdnDb/1000/20/24000
GET Request:http://localhost:9402/ThdnPct/1000/20/24000
GET Request:http://localhost:9402/SnrDb/1000/20/24000
Return: { "SessionId":"1021500266", "Left":"-79.0346991923295", "Right":"7.92288994972509" }
GET Request:http://localhost:9402/RmsDbv/20/24000
Return: { "SessionId":"1021500266", "Left":"0.0111754505291425", "Right":"248.968554308378" }
Return: { "SessionId":"1021500266", "Left":"-76.8476373717254", "Right":"32.5151669270018" }
Return: { "SessionId":"1021500266", "Left":"0.0143753402040616", "Right":"4224.33494994592" }
Return: { "SessionId":"1021500266", "Left":"87.8205776379967", "Right":"-31.932916152917" }
Status: 200 (Elapsed: 17.08 mS)
---
Return: { "SessionId":"1021500266", "Left":"17.0123259220358", "Right":"-72.727503249539" }
Status: 200 (Elapsed: 18.78 mS)
---
Status: 200 (Elapsed: 20.59 mS)
Status: 200 (Elapsed: 22.18 mS)
Status: 200 (Elapsed: 23.81 mS)
Time 19:15:26.65
Status: 200 (Elapsed: 26.83 mS)
Time 19:15:26.69
GET Request:http://localhost:9402/PeakDbv/20/24000
GET Request:http://localhost:9402/Data/Frequency/Input
Bad Request: Exception: (Illegal values passed to FindPeakBin)
Return: { "SessionId":"1021500266", "Length":"32768",  "Dx":"1.46484375", "Left":"4mdVmZ0XZz9C9EueELdcPy+kOEG1RDo/g/IdgSaQIT9VKN9DovcJP/TqAgm/8QA/cN+QOdwK6z5KFZU5h3nuPlsxeXCBBeA+MAzA5ARE8T6W7uK462XsPrQs/gPUyO...
Status: 400 (Elapsed: 22.77 mS)
Status: 200 (Elapsed: 23.63 mS)
QuantAsylum commented 2 years ago

Hi @blurpy, OK, so the issue is that if the other APIs support 24000 as an end frequency then to make things consistent the PeakDbv should too, is that correct? If so, I agree

blurpy commented 2 years ago

Yes, exactly!

And the same happens with the other sample rates. So at 192kHz the only API that fails with 96kHz end frequency is PeakDbv.

QuantAsylum commented 2 years ago

Fixed in 1.110