|
|
Subject:
Signals-FFT-DSP Help
Category: Science > Math Asked by: shoma911-ga List Price: $30.00 |
Posted:
10 Apr 2006 12:57 PDT
Expires: 13 Apr 2006 12:27 PDT Question ID: 717482 |
For the question below i was looking for help since some parts of it i don't get. For part A I import the data in matlab and then plot it using the plot function. i get my x-axis as the number of samples which is 16384 and then the y is the values of the signal. but i dono if i am drawing it correct. should it be in any diff format in terms of x-axis. maybe freq? For part B i found the Fs by deviding the 80ms/16384. Which should be right. For part C i get the dc componmet which is the mean of the graph from matlab. although if my FFT graph is corrct in the next part the X(0) will be my dc componemet. For part D i use FFT(ABS(signal)) get a real values but i need to confirm this. Can you please tell me what i should do here? and show me the steps ONE BY ONE in matlab. i will need full answers and not walkthorughs since i have an idea how to do it but i know it is not right. files or graphs can be sent using www.yousentit.com or a link. the signal file can be found here: http://s59.yousendit.com/d.aspx?id=2QOB20YI5KNOG262E4UMLJAH8J thanx a bunch in advance. a tip will be consedered. Question: The attached file called ?signal? is a list of 16384 real numbers. These numbers represent the result of sampling an audio signal for 80 milliseconds. None of the components of that signal have a frequencies above the Nyquist threshold for the sampling rate used. (a) Plot the signal. (b) What was the sampling frequency? (c) What is the D.C. component of the signal? (d) Use the fft function and the plotting facilities of MATLAB to generate a graph of that part of the power spectrum of this signal which contains meaningful data. (e) Estimate the frequencies (in kHz), amplitudes and phases (in radians) of the principal components of the signal. (f) Suppose a sinusoid of frequency 256kHz were added to the original signal in the previous question before sampling. Exactly how would this change the graph in (2d) above? | |
| |
|
|
There is no answer at this time. |
|
Subject:
Re: Signals-FFT-DSP Help
From: rracecarr-ga on 10 Apr 2006 14:18 PDT |
You did A) right, but you might want to consider plotting the signal vs. time in milliseconds, rather than vs sample number: plot(linspace(0,80,16384),signal) For part B), you have it backwards. The sampling frequency is the number of samples divided by the time, not the other way around. Part C) is right. Part D) is wrong. You do not want to take the absolute value of the signal. Instead you should plot the square of the absolute value of the fft of the signal. You only care about the positive frequencies, which will be the first half of the output of the fft. Additionally, usually it's not called a power spectrum until some averaging has been done to smooth out random fuzziness. You may want to use loglog to plot the spectrum. If you do it right, you'll see a line spectrum sloping downward from left to right with 5 prominant peaks in it, which provide the answer for part E). I'm not going to give you the matlab code to do this. It will be good for you to figure it out for yourself. |
Subject:
Re: Signals-FFT-DSP Help
From: shoma911-ga on 10 Apr 2006 18:34 PDT |
Thanks alot for the commnet although if i had time i would do it myself. since i don't it is not possible for me to do that but again you are helpful. if you answer the full question there will be a $10 tip. remember that as i mentioned time is an issue for me not the actucal doing it. i tired it but there is no time for me now to try this. plus i have no matlab at home and my labs are closed currently. |
Subject:
Re: Signals-FFT-DSP Help
From: rracecarr-ga on 10 Apr 2006 19:36 PDT |
I am not a GA researcher so I can't officially answer your question. I will post a few lines of code that will allow you to plot the periodgram (vs frequency in Hz), but you should still do some averaging to form a true power spectrum. N = length(signal); % number of samples dt = 0.08/N; % sampling interval (seconds) T = dt*N; % record length nf = ceil((N - 1)/2); % number of (positive) frequencies E = 2*(abs(fft(signal))).^2 * dt / N; periodogram = E(2:nf + 1); frequency = [1:nf]'/T; loglog(frequency, periodogram) |
Subject:
Re: Signals-FFT-DSP Help
From: shoma911-ga on 10 Apr 2006 20:19 PDT |
Thanx let me see if i can get a remote access to do this somehow. so what i shoudl do for u to do my question :P i am in need man. i dono if google is agasint tipping for comments :) |
If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you. |
Search Google Answers for |
Google Home - Answers FAQ - Terms of Service - Privacy Policy |