Signal Generators

cancel
Showing results for 
Search instead for 
Did you mean: 

incorporating equal loudness contour into sweep frequency generator

Hi my names Anthony, I'm trying to build a sweep frequency generator as a new way of testing hearing. I've needed to make an equal loudness V.I so that when the sweep is played, the signal is heard at a constant level across all the frequencies played. The problem I'm having is that the amplitude of the signal still sounds like its fluctuating and there are some minor glitches. I'm very new to Labview and I don't know if its because the equal loudness V.I has been coded wrong, or if the equal loudness V.I has been incorrectly connected to the sweep generator V.I. Is there anybody that could help me out on this one? Cheers

0 Kudos
Message 1 of 4
(6,425 Views)

Hello Anthony,

 

After reading your post, it seems that you want to sweep the audible frequencies with the same amplitude. What hardware are you using to output the sound? Are you outputing the sound through your speakers? Also could you post you code so I could look at it in more detail?

 

Also how are you measuring the loudness or amplitude of the signal being played? Are you hearing the differencing in the sound?


Jim St
National Instruments
RF Product Support Engineer
0 Kudos
Message 2 of 4
(6,411 Views)

Hi Jim I greatly appreciate your quick reply

Just to give you a bit more detail, I've taken the sweep frequency generator from a template that was posted on this forum. When I listened to the sweep it sounded clean and when measured using a real time FFT, there was no sign of any distortion. I was just listening to it through my laptop speakers and headphones connected to my laptop. I have a 24bit external sound card that I'm considering using, because I'll be placing headphones on my subjects which have a frequency response from 20 - 16000 Hz. 

The problem was trying to figure out how to create a constant level sweep. I managed to find a code on line created in Matlab which returns a 29 point curve of the fletcher Munson cuvrve. We then took the code and placed it into mathscript and produced the V.I which was then integrated with the sweep frequency generator. However, when I listen to the signal with the equal loudness curve switched on it sounds very warped and the signal at the beginning of the sweep has a much greater amplitude then the rest of the signal. When the signal is at the end of its run, it seems to loop the last second as well which I think is another glitch in the programmming.

I've attached the zip file which has the sweep frequency generator plus equal loudness curve V.I. And ive also attached the sweep frequency generator on its own. I feel that the two V.I's on their own work well but I'm going around and round trying to get them to work cleanly together. 

Thanks alot

Anthony  

Download All
0 Kudos
Message 3 of 4
(6,404 Views)

Hello Anthony,

 

I listen to the sound generated on my computer (using sweep Frequency generator mod7) and the sound wasn't warped. I believe that distortion might be caused by the built in sound card on your laptop. I did notice the repeat at the end of the signal and some distortion at the beginning of it. My suggestion at this point would be to divide up your code into different sections to ensure that your are getting the correct outputs. For your code, I would first make sure that your are calculating Phi_log, phi_lin, and phi_quad correctly. Each one of these should be a made in a SubVI.

 

After this, you should make sure that the signal entering the normalize function is being generated correctly. I would do this by taking a window of each complete period of the signal and make sure that  frequency was represented correctly. This could be done using a force window and the taking an FFT of it.

 

I would repeat this process until you are sure that the signal is created correctly before being placed into the sound VIs.


Jim St
National Instruments
RF Product Support Engineer
0 Kudos
Message 4 of 4
(6,362 Views)