LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

HOW TO SCALE THE CORRECT FREQUENCY AXIS?

hello guys
 
 
im trying to calculate the real cepstrum of a short speech signal for time/pitch scaling. cepstrum=ifft[log(abs ((fft))].
my problem is 1) how can i correctly show the frequency axis (x-axis) of the fft result in Hz and not in time (samples) and then  2) the result of the cepstrum in time?
i cant seem to be able to do that as you can see from my program below.
can anybody help me please?
 
kind regards
alex
 
p.s. the zip file contains my program with a sample sound file that can be processed with
0 Kudos
Message 1 of 6
(6,222 Views)
Hi Alex,

first I was about to comment on the stuck shift key on your keyboard. But then your post was polite (and the coffe is great this morning).

I think you have the dF set right for the frequency scale (it is 86.1328 Hz)

Ton

Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 2 of 6
(6,207 Views)
im sorry but i didnt get what u meant by "stuck shift key on my keyboard". did i say something???
if you mean the caps key....i am really sorry....i didnt know its considered yelling when writing in caps.i was just trying to get attention on my question.i never meant to be impolite.
 
alex
0 Kudos
Message 3 of 6
(6,200 Views)
ton
 
1) i cant get the same answer for df as you (86.13Hz).how did you get that?
isnt it df=1/(dt*N)=Fs/N?
i get half of that using this equation 44100/1024=43.066hz (except if you used N=512...is this it?)
 
2) so if you say that i got the scale right , how can you see the df on the graph of the fft result to make sure its correct?
 
3) the frequency axis should display half the Fs right? why does it go only up to 21960 intsead of 22050? (44100/2)
 
i cant seem to get it comprehended and im confused
 
last, the result of the cepstrum, should be in time right?how can i get the graph to display it in time instead of what is displaying right now?
 
i am sorry if i asked too many stupid questions...i just want to get it right
 
alex
 
 
 
0 Kudos
Message 4 of 6
(6,196 Views)
Yes I used the 512 samples.

You can see the DF if you set the graph to a plot-style, then zoom in to a 0-500 Hz scale then you will see that at every 83 Hz a point.
 The reason your maximum is not half dF is that you have 512 samples, so 256 frequency bins times 86 =22016 BUT you start at zero so the max is a little lower
255*86.13 is 21963 Hz

About CSepstrum I don't know, I hardly ever used IFFT.

Ton
Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
Nederlandse LabVIEW user groep www.lvug.nl
My LabVIEW Ideas

LabVIEW, programming like it should be!
0 Kudos
Message 5 of 6
(6,182 Views)
thank you ton for all your help.
 
if somebody else can help me on the cepstrum time axis any help is much appreciated
 
regards
alex
 
0 Kudos
Message 6 of 6
(6,177 Views)