Hi all I have a question on FFT scaling difference between periodic and a periodic signals. if I have a periodic signal x1 (sinewave), the FFT of this signal is normalized by the number of points N to get the correct amplitude spectrum scale < abs(fft(x1))/N >. However if there is aperiodic signal e.g. x2 (square pulse), the normalization by the number of points representing pulse amplitude (k) gives amplitude spectrum with a maximum of 1. what I know is that the spectrum of a square pulse is a sinc waveform of amplitude (A*w). where A is the pulse amplitude and w is the pulse width. does this mean the normalization is different for periodic and aperiodic signals? and if so, how does spectrum analyzers know how to normalize different signals? Any hints? many thanks N = 4096; % number of FFT points ts = 1e-3; % Sampling time t = [0:N-1]*ts; % Time Vector x1 = sin(2*pi*1*t); % Sinewave X1 = abs(fft(x1))/N; % Amplitude spectrum of the sinewave k = 2000; % number of points representing pulse width x2 = [zeros(1,1000) ones(1,k) zeros(1,1096)]; % square pulse of width 2 seconds X2 = abs(fft(x2))/k; % Amplitude Spectrum of the square pulse subplot(2,1,1),plot(X1) subplot(2,1,2),plot(X2)

0 |

10/30/2010 6:14:04 PM

On Oct 30, 11:14=A0am, "abees Tero" <abee...@hotmail.com> wrote: > Hi all >... > > does this mean the normalization is different for periodic and aperiodic = signals? Yes > and if so, how does spectrum analyzers know how to normalize different si= gnals? Spectrum analyzers don't know. In fact, the signal being analyzed may have components that should be scaled in different ways. > > Any hints? > many thanks > ... The three cases are signals that have a power spectrum (tone like), signals that have a power spectral density (PSD) (noise like) and signals that have an energy spectral density (ESD)(transients). As I have posted here before: -begin quote- The PSD, ESD and power spectrum can be calculated via fft based methods in Matlab. Manufacturers of dynamic signal analyzers have provided these functions, properly scaled, for years. Some have been nice enough to accurately document their functions and make and keep the documentation available. Take a look at "Choose your Units!" from B&K: http://www.bksv.com/doc/bo0438.pdf and for more detail, "Signals and Units" on page 29 of: http://www.bksv.com/doc/bv0031.pdf For an discussion of the signal processing, consider pages 5-21 of: http://www.rssd.esa.int/SP/LISAPATHFINDER/docs/Data_Analysis/GH_FFT.pdf Particularly "3 Introduction" on page 5 and "9 Scaling the results" on page 15. I consider "13 Testing the Algorithm" on page 21 and on as a more practically oriented discussion of pwelch than the Matlab docs. -end quote- Dale B. Dalrymple

0 |

10/30/2010 6:37:25 PM

dbd <dbd@ieee.org> wrote in message <1bded1a9-6241-4f2c-85be-d9020e5a2b78@t13g2000yqm.googlegroups.com>... > On Oct 30, 11:14 am, "abees Tero" <abee...@hotmail.com> wrote: > > Hi all > >... > > > > does this mean the normalization is different for periodic and aperiodic signals? > Yes > > and if so, how does spectrum analyzers know how to normalize different signals? > Spectrum analyzers don't know. In fact, the signal being analyzed may > have components that should be scaled in different ways. > > > > Any hints? > > many thanks > > ... > > The three cases are signals that have a power spectrum (tone like), > signals that have a power spectral density (PSD) (noise like) and > signals that have an energy spectral density (ESD)(transients). > > As I have posted here before: > -begin quote- > The PSD, ESD and power spectrum can be calculated via fft based > methods in Matlab. > Manufacturers of dynamic signal analyzers have provided these > functions, properly scaled, for years. Some have been nice enough to > accurately document their functions and make and keep the > documentation available. > > Take a look at "Choose your Units!" from B&K: > > http://www.bksv.com/doc/bo0438.pdf > > and for more detail, "Signals and Units" on page 29 of: > > http://www.bksv.com/doc/bv0031.pdf > > For an discussion of the signal processing, > consider pages 5-21 of: > > http://www.rssd.esa.int/SP/LISAPATHFINDER/docs/Data_Analysis/GH_FFT.pdf > > Particularly "3 Introduction" on page 5 and "9 Scaling the results" on > page 15. > I consider "13 Testing the Algorithm" on page 21 and on as a more > practically oriented discussion of pwelch than the Matlab docs. > -end quote- > > Dale B. Dalrymple Dear Dale,,, I would like to thank you for your kind, fast, really useful response. you cleared all my doubts. thanks again. regards,,,,

0 |

10/30/2010 7:25:05 PM

Hi all I have a question on FFT scaling difference between periodic and a periodic signals. if I have a periodic signal x1 (sinewave), the FFT of this signal is normalized by the number of points N to get the correct amplitude spectrum scale < abs(fft(x1))/N >. However if there is aperiodic signal e.g. x2 (square pulse), the normalization by the number of points representing pulse amplitude (k) gives amplitude spectrum with a maximum of 1. what I know is that the spectrum of a square pulse is a sinc waveform of amplitude (A*w). where A is the pulse amplitude and w is the pulse...

I am trying to calculate the FFT of some sampled data, and have had some trouble determining the correct way to scale the resulting FFT data. Technical note 1703 states to properly scale the FFT (Mx) of a signal (x), the FFT should be divided by N, where N=length(x) However, I have determined that this only applies for the case where the signal x is <periodic>. What I want to know is how to scale the FFT is the signal is NOT periodic. Is there a way to accomplish this? I need to determine the proper magnitude of the FFT for data resulting from an input sine-sweep, or from a series of...

Hi, I have a problem with scaling my graphs for FFT functions. I am currently implementing forced oscillators and the result output is from the following code [t x] =ode45(@vanderpol, 0:2*pi/100:4000, [0 1]); This returns the correct output array. When i transform this however the graphs are not scaled- can someone please help? i used the following code to transform: fastft= abs(fft(x(1:6000)) I have looked at alot of different forum posts and can't get help with this (i have tried multiple methods) ... can anyone help me? Thanks in advance. ...

I have read 'a guide to the FFT' in the 'File exchange' , but confusing about the FFT The author recommend the following commands when we'd like to see the spectrum in the frequency domain. 1. fftshift(fft(fftshift(�)))/Fs for (non-periodic signal) Here, Fs: sampling frequency 2. fftshift(fft(fftshift(�)))/Np for (periodic signal) Here, Np:number of samples But what's the difference? and Should i have to divide it by Np for periodic signal? beom lee wrote: > > > I have read 'a guide to the FFT' in the 'File exchange' > > , but co...

I've browsed a bit, so hopefully I've got all my information in order. I haven't been able to find an answer for this specific problem. It's for image processing. I'm simplifying 2D regions by applying low-pass filters to their contours. Specifically, I take an 8-connected clockwise contour of (arbitrary) n points, and make two new functions, x(i) and y(i), out of the points' coordinates. Then I do a DFT on each, apply a Gaussian or low-pass cutoff filter, inverse DFT, and replot. It works like a charm if I use a naive O(n^2) DFT implementation - but of course, it'...

Hi all, I am trying to convolve a sine wave with a random signal. Instead of using conv function, I am multiplying them in the frequency domain and then taking the ifft. I have taken care of the zero padding issue in the time domain. The problem is instead of getting a dual-dirac histogram, I always end up with the histogram of random signal. Can anyone suggest a proper convolution code between a sine wave (or any periodic waveform) and random signal? Thanking everyone in advance..... Nitin Check the fft of the sine wave alone - do you get two peaks and zeros everywhere else? (To get this...

Hello all, I have a basic question about the fft() function. Let's say I create a whitenoise signal that has peaks from +1 to -1. When I run a fft on this signal it shows me amplitudes in the positive dB! I thought that a full-scale signal should only have frequency peaks up to 0dB. Currently, I have peaks upwards of 25dB. Even when I scale the signal down to +0.6 and -0.6, I still see data higher than 0dB. Is there a way in Matlab to somehow tell the fft function what full-scale is equal to? Here is the code I have so far for a test... ============================================= ...

Dear all, I would like to know is it possible to divide a periodic signal into 2 composite signals: one periodic and the other non-periodic? If possible, can anyone please give me a hint on how to do so ? Regards On 9 Feb, 14:01, "gehan Mustafa" <g...@gigi.com> wrote: > Dear all, > I would like to know is it possible to divide a periodic signal into 2 composite signals: one periodic and the other non-periodic? Periodic components are prefectly predictable. Try to use some sort of linear prdiction. Rune Rune Allnor <allnor@tele.ntnu.no> wrote in message <5b5e4...

Hi! I need to do data acquisition of a voltage (sine wave) and at a specific angle of the ideal sine wave after a fixed number of periods have been acquired an analog signal has to be sent. Knowing the input signal's frequency, phase information I can guess the time to wait before the same point on the wave comes. I use 'get time.vi' and wait until the predicted time comes' using a while loop that checks if the real time is equal to the predicted time. Problem is program misses the target point. I mean if my predicted time is 1.324 ms although the program counts milliseconds it...

Hello All, I am trying to understand the concept of representing a discrete periodic signal using sinusoidal signals. (without going into detailed math), If my understanding is correct, a discrete periodic signal can be represented using a collection of sinusoidal signals of different frequencies. The sinusoidal signals would be amplitude scaled and would have different phases. Is my understanding broadly correct or is there any other factor involved in representation of these sinusoidal signals? Further, a) would the scaling factors be constant within a given signal? b) wou...

I need help in matlab code for applying fft and perform fft waveform of a given signal....who can help me?? Chai wrote: > > > I need help in matlab code for applying fft and perform fft > waveform > of a given signal....who can help me?? perhaps My_Spectrum = fft(My_Signal); My_Spectrum_Conventional = fftshift(My_Spectrum); plot(real(My_Spectrum_Conventional),'r');hold on; plot(imag(My_Spectrum_Conventional),'r');hold off; maybe Dave Robinson Thanks for your kindness. I still working on my project.more question will be coming if you don mind helping me. s...

I�m drawing a signal from the data taken from a visa read, the problem is that the visa read give me 64 bytes and y draw the first period of my signal well, but when i catch the next 64 bytes the signal don�t looks like two periods, How can i attach the two packets to view my signal periodical?? Now i see something like this: Graf.JPG: http://forums.ni.com/attachments/ni/170/139081/1/Graf.JPG Hi! Answer depends on some questions. Does your hardware allow continuous acquisition mode? Do you know ac...

Hi I am trying to perform an fft on some data but have been having trouble with the scaling of the frequency axis. I started testing things with gaussians. If one starts with a gaussian of full width half maximum of 1.386a then the resulting gaussian on transform is expected to have width 0.44/a. This is a well known mathematical result. I defined a number of gaussians of various widths and then took the fft of each. Each gaussian is defined over 32,768 points (2^15) and thus the fft returned equally has 2^15 points. For example define a gaussian with mean 0, standard deviation...

I found the following tech note on fft scaling: http://www.mathworks.com/support/tech-notes/1700/1702.html In playing with it, I noticed something that I don't understand. If I leave Fs at 1024 (a power of two), my amplitude spectrum's y-axis is accurately scaled. Any frequency sine wave I put in, I will see a matching peak in the amplitude spectrum. E.g. I put in a 1V sine wave at 100 Hz, I see 1V at 100 Hz in the amplitude spectrum. I can vary the frequency, and I see the same amplitude in the frequency spectrum as my source in time. However, if I change my sampling rate t...

hi, i am working on mc-cdma and in most of the papers that i read, the recieved signal vector is written as Y = HCA + N, where H is a channel matrix (rayleigh fading diagonal matrix),C is an orthogonal code matrix and A is the bit vector. N is the noise vector. My doubt is that is there no need to ifft . I mean that is how we transmit it, so is that step not required in the simulations. if yes, then why is it not used in these papers and if no then why not thanks a lot, prateek dayal "Prateek" <prateek@iitg.ac.in> wrote in message news:72a694e0.0312070319.208d489f@posting....

i want the program to check whether a signal is periodic or not.please send me the program ...

My purpose is to transform my time series B to the frequency domain. and then with a notch filter remove the specific frequency of 1/24[hour] I figured out this fft code for my data but I am not sure that the frequency is in Hertz or not? And I do not know how notch filter works? I recently started Matlab signal processing. I really appriciate if help me with this. N=length(B) %Time Sampling Interval=1[hour]=3600[second] =>FS=sampling frequency =[1/3600]HZ FS=1/3600; %time vector in second= (0:N-1)/FS %time vector in hour= t = ((0:N-1)/FS)/3600 %%signal in frequency domain NF...

Hi, For F(u)=fft(x), we can get from matlab. But for F(u/a), a is a constant, could you please help me what's wrong with source code below? Since fft.m is a built-in function, source code is not open to public, I copied one from www.mathworks.com. so no need to doubt the correctness for fftx to calculate fft (fftx is equivalent to fft command, I have verified this). function y = fftx(x) %FFTX Fast Finite Fourier Transform. x = x(:); n = length(x); omega = exp(-2*pi*i/n); if rem(n,2) == 0 % Recursive divide and conquer. k = (0:n/2-1)'; w = omega.^k; u = fftx(x(1:2:n-1)); v = w.*ff...

Hi, im really struggling to interpret an FFT signal... :(.. i read all the websites, but too many equations in them.. can i please send someone a screenshot of one of my FFT's??, and then you can please help me interpret it? please, thanks, I can move my belly too for you after type doc fft or google fft but then it would cost 1 dolla, cheep? carlos ...

Hi to all in forum! I got this VI, and i need it like it is plus one more feathure. I need to variate teh x-scale range when running this VI. But it is not possible when using the same proberty to somthing else. I tried but it shifted quickly between the running samplings and the range i wanted to appear. any suggestions wil be appreciated. regards Zamzam FlowReadChartHist2.vi: http://forums.ni.com/attachments/ni/170/176788/1/FlowReadChartHist2.vi Hello Zamzam, you get the values for the x-range from your chart. The values are cop...

Hello to everybody! Is it possible to create my own signal for example: The first period i got an amplitude of 1V and the next period i got an amplitude of 4V Responding to my own post. I just realized you wanted one cycle only at different amplitudes. Here is a vi that does this. AppendWaveforms.vi: http://forums.ni.com/attachments/ni/170/143891/1/AppendWaveforms.vi ...

Hi guys, I get something like t=1e-9; Which is something like nanoseconds. I need N(Number of samples), Fs(Sampling Frequency) & F(Frequency) to do a sinewave for FFT. However, when my t is so small, my F had to be big. Can anyone please tell me how do I scale my time correctly so I get a nanosecond-frequency graph. Here is my sample code: F=10;Fs=2048;N=2^10;T=1;t=0:T/N:T; %scaling starts... x= sin(2*pi*F*1e-9*t); subplot(2,1,1);plot(t,x); y = abs(fft(x))/N*2; f = Fs*(0:N/2)/N; subplot(2,1,2);plot(f,y(1:N/2+1)); ...

Does anyone know if there is a way to compute an IFFT over a log scale o sampled frequencies? In other words if I have a frequency response tha is on a log scale (base 10) what does this mean in the time domain? This message was sent using the Comp.DSP web interface o www.DSPRelated.com edwardehopkins wrote: > Does anyone know if there is a way to compute an IFFT over a log scale of > sampled frequencies? In other words if I have a frequency response that > is on a log scale (base 10) what does this mean in the time domain? > > > > > This message was sent ...

Hi, I have been working with Signal processing using Matlab FFT and IMABS, however I find that the result's amplitude doesn't seemed to be constant and totally different scaling with the expected result. (For e.g. A peak with expected result to be less than 1, the result in Matlab can goes up to 300+) Is this the "real" value or there is an inconsistency in Matlab's FFT? How can it be solved? Another problem: FFT will give us the result Volt/Frequency readings, however we need it to be Volt/Time. As we know t=1/f, in order to do a time domain, can we simply multiply e...

Hellow! anyone can tell me how to scale the FFT? suppposed i have a 10 seconds data x(t),after FFT(x(t)),i will plot Freq-Amplitude,then how to scale the frequency? thanks! dt = 1/Fs t = dt*(0:N-1) T = N*dt df = 1/T f = df*(0:N-1) Note that max(t) = T - dt max (f) = Fs - df Hope this helps. Greg ...