Search Engine **www.edaboard.com**

32 Threads found on edaboard.com: **Abs Fft**

Hello,
In the audio processing field, after applying **fft** on a sound signal, sometimes, engineers use 10*log10(**abs**(value)) and some others just sqrt(i**2 + j**2) to get the amplitude of frequencies.
Why one instead of the other ?
Thanks,
Larry

Digital Signal Processing :: 11-18-2013 20:24 :: LarryJ :: Replies: **1** :: Views: **613**

Hi,
Set the range for 'n' (as we are in discrete time domain), say n =
Compute values for the given signal x in the above taken range.
For spectral analysis, compute **fft** using **fft**(signal, N) and plot the **abs** value to get magnitude spectrum.
Let me know if you need the code.

Digital Signal Processing :: 02-25-2013 05:45 :: MikuIyer :: Replies: **1** :: Views: **959**

hi,
I have adopt the ADS5560 for sampling, and the sample sequence is expresses as X in matlab. Then I want to calculate the power/energy spectrum in decibel, I have a problem whether to choose 20 or 10 as the multipy coefficient, i.e.,
20*log10(**abs**(**fft**(X)) or
10*log10(**abs**(**fft**(X))
thanks to all.
--yakex

Digital Signal Processing :: 09-10-2011 03:09 :: yakex :: Replies: **3** :: Views: **723**

I am having a periodic impulse train of N=5
y=ones(1,5)
i want to decompose it into complex exponentials by writing a matlab code. Can anybody guide me how to write a matlab code
the aswer of code should be same as of builtin command
stem(**abs**(**fft**(y,5)))
thanks a lot

Digital Signal Processing :: 04-26-2011 14:06 :: moonnightingale :: Replies: **0** :: Views: **1209**

I have written the cepstral method to determine the pitch of a voice signal which is much simpler.
=wavread('/home/..specify where your speech signal is located...');
%determination of cepstral coefficients
f=**fft**(x);
f1=**abs**(f);
f2=log(f1);
f3=i**fft**(f2);
%finding the strongest cepstral coefficient
pitch=max(f3);
display(pitch);
Hope it

Digital Signal Processing :: 04-01-2011 04:25 :: pushpanjali sharma :: Replies: **2** :: Views: **1152**

Here are the steps which I normally follow:
1. Choose sufficient number of points of output signal. I usually take points, k such that n = (log k) / (log 2), where n is an integer.
2. Take **fft** of k.
3. Take **abs** value of the step-2 result.
4. Multiply each element of step 3 by itself. e.g. step4 = step3.^2
5. The max point available fro

Analog Circuit Design :: 02-01-2011 03:53 :: vigyanjain :: Replies: **0** :: Views: **2570**

plzzzzzz help me i dont now what its wrong in my m file
/////////////////////////////////////////
=wavread('NoisySignal.wav');
figure(1)
plot(x)
Ts=1/fs;
y=**fft**(x);
y=Ts***fft**shift(y);
f=-fs/2:fs/length(y):fs/2-fs/length(y);
figure(2)
plot(f,**abs** (y))
x1=.4*(hardlim(f+3050))-.4*(hardlim(f+2950));
figure(3)
plot(f,x1)

Digital Signal Processing :: 01-01-2011 12:14 :: dorome :: Replies: **0** :: Views: **606**

Hello All,
Please solve my problem,
I want to find **fft** plot for a 50 Hz and 5V sinusoidal signal. So I tried the following code..
fm=50;
fs=150;
N=512;
t=0:1/fs:100;
y=sin(2*pi*(fs/fm)*t);
F=**fft**shift(**abs**(**fft**(y,N)));
k=(-N/2:N/2-1)*(fs/N);
plot(k,F);
grid on;
But I tried something but, I never (...)

PC Programming and Interfacing :: 12-22-2010 19:37 :: ravitejaelx :: Replies: **0** :: Views: **1502**

you are making the following transformation:i**fft**(**abs**(**fft**(waveform2)))instead of: i**fft**(**fft**(waveform2))The **abs** function changes the **fft** of waveform2...

Digital Signal Processing :: 12-07-2010 01:00 :: JoannesPaulus :: Replies: **9** :: Views: **19456**

Try,
t=0:Ts:10;
y=x1+x2+x3;
plot(t,**abs**(**fft**(y)));

Software Problems, Hints and Reviews :: 11-16-2010 09:45 :: anmol :: Replies: **2** :: Views: **1404**

how to get frequency spectrum of EEG signal using matlab?**abs**(**fft**(x)) is not giving good plot

Digital Signal Processing :: 10-20-2010 04:46 :: thasneem1 :: Replies: **5** :: Views: **2548**

Hi,
i want to see the spectrum of the output in a pll. In order to do so, i have put 5 blocks in series: the first is the Zero-Order-Hold (its sampling time is more than twice the main frequency of the output), the second is a Buffer, the third is the **fft** block(having **fft** length equal to that of the buffer), the fourth is the **abs** block and (...)

Digital Signal Processing :: 07-04-2010 12:08 :: elcink :: Replies: **4** :: Views: **8199**

If you change the line:
m=**abs**(y);
to
m=**abs**(y2);
then the **fft** plot will go from -Fs/2 to Fs/2. Thus you'll see the DC component in the middle of the plot, and you wanted signal on either side of the DC signal.

Digital communication :: 07-01-2010 22:36 :: RBB :: Replies: **9** :: Views: **1969**

You need to know the sampling frequency, Fs. Then you can plot the spectrum as follows: =wavread('sound.wav');
N=length(x);
X=**fft**(x);
f=(0:N/2-1)*Fs/N;
plot(f,**abs**(X(1:N/2)))You might have to adjust the vector sizes, using floor if your number of points is not even, but I hope you get the point...

Digital Signal Processing :: 06-17-2010 03:09 :: JoannesPaulus :: Replies: **3** :: Views: **938**

First of all, you should not use **abs** for the i**fft**. Second, is the input data coming from an **fft** or is it generated by some software? In order to calculate the i**fft**, you need an array of complex data where the second N/2 samples are conjugate of the first N/2 samples (and flipped). Here is the formula: (...)

Digital Signal Processing :: 05-06-2010 03:27 :: JoannesPaulus :: Replies: **3** :: Views: **5100**

Have a good slap: plot (**abs**(Y1)) ;-)
The **fft** returns an imaginary number (magnitude an phase).

Digital Signal Processing :: 04-26-2010 05:04 :: JoannesPaulus :: Replies: **2** :: Views: **1250**

N = 2048;
cycles = 67;
fs = 1000;
fx = fs*cycles/N;
LSB = 2/2^10;
%generate signal, quantize and take **fft**
x = cos(2*pi*fx/fs*);
x = round(x/LSB)*LSB;
s = **abs**(**fft**(x));
s = s(1:end/2)/N*2;
% calculate SNR
f = /N;
sigbin = 1 + cycles;
noise = ;
snr =10*log10( s(sigbin)^2/sum(noise.^2) );

Analog Circuit Design :: 02-17-2010 11:15 :: hur :: Replies: **1** :: Views: **2462**

I got the samples of various arrhythmias and i took the **fft** of it using matlab.. Its found to be different... The dominent frequencies are found to be varying for various arrhythemia which i understood while plotting its **abs** value... Is it possible to extract those dominent frequencies??? that is frquency with max value...

Digital Signal Processing :: 01-29-2010 14:09 :: amgc :: Replies: **4** :: Views: **3554**

x=5sin(2*pi*50*t)+3sin(2*pi*100*t)
W=hann(length(x));
Data=x.*W;
figure;
f=(sampling_freq)*linspace(0,1,N**fft**);
plot(f,**abs**(**fft**(Data,N**fft**)));
grid on;
Is this what you are looking for??
HTH,
-- Ashwini

Digital Signal Processing :: 12-11-2009 09:47 :: ashwini1 :: Replies: **2** :: Views: **1620**

Hi,
I am trying to obtain phase and amplitude images by using Fresnel tranform. In my matlab program, I call the saved image (acquired by a CCD), use **fft** and i**fft** to recontruct the image field (x2) at different z distance values.
I create the amplitude image by using command
Intensity = **abs**(X).^2; where (...)

Digital Signal Processing :: 11-12-2008 11:03 :: niw :: Replies: **0** :: Views: **3192**

a simple script segment to do **fft** for a tone plus additive white noise.
nbpts = 32768;
fs = 1e3*nbpts;
nbprds = 7;
fi = fs/nbpts*nbprds;
amplitude = 1;
pnoise = 1e-6;
noise = random('norm',0,sqrt(pnoise),1,nbpts);
signal = amplitude*sin(2*pi*fi/fs*) + noise;
Sxx = **abs**(**fft**(signal)./nbpts).^2;
Snn =

Digital Signal Processing :: 05-28-2008 12:01 :: qslazio :: Replies: **0** :: Views: **1317**

try plotting **abs**(**fft**(signal))... you will get the frequency spectrum of the signal...
this will clearly show you the side bands , carrier frequency... etc...

Elementary Electronic Questions :: 01-09-2008 08:38 :: lordsathish :: Replies: **10** :: Views: **2966**

>> freq = **fft**(impulseTrain, Len);
>> stem(, **abs**(freq))
it shows a peak at 0 frequency, that result is correct.
what happens is the **fft** just gives u the first window, its made to give only the non repeating part...
actually every discrete signal is a periodic in frequency domain.
so the actual **fft** that u obtained(which is

Digital Signal Processing :: 11-27-2007 12:10 :: mondunno :: Replies: **4** :: Views: **19199**

you can see **fft** of x as
y=**fft**(x,512);
df=fs/512;
m=**fft**shift(**abs**(y));
m=m.^2;
m1=20*log10(m);
p=unwrap(angle(y));
f = -(fs/2)+df:df:(fs/2);
%f=(0:length(y)-1)*fs/length(y);
figure;
plot(f,m1);title('magnitude')

Mathematics and Physics :: 04-14-2008 07:09 :: atulbhatia :: Replies: **4** :: Views: **8337**

hi,
please help me in these statements (1) , ( 2 ), ( 3 ) only ,
if anyone knows this...........
N = 512;
dt = 1/fs; %sampling time
T = 1;
t = 0:dt:1;
y=textread('......txt');
Y = **fft**(y,N);
Pyy = 2***abs**(Y) / min(N,T/dt); ( 1 )
mag1

Digital Signal Processing :: 07-30-2007 19:34 :: vjfaisal :: Replies: **8** :: Views: **1616**

I assume you want MATLAB to compute the **fft**.
Try typing a column or row of numbers into Excel, save it to "xdata.xls", and then run this MATLAB command:
plot(**abs**(**fft**(xlsread('xdata.xls'))));
MATLAB provides other methods for accessing Excel data, including DDE transfers to/from the Excel window. Try searching MATLAB help for "excel".

Software Problems, Hints and Reviews :: 07-11-2007 11:14 :: echo47 :: Replies: **2** :: Views: **2764**

It sometimes depends on who's **fft** function you are using.
Here is a MATLAB example. Notice the fs/N and 2/N.
If you are unfamiliar with MATLAB, the **abs**() function returns the magnitude of a complex number.
N = 64; % number of points
fs = 4000; % sample rate
f1 = 750; % signal 1 frequency
f2 = 1000; % signal 2 f

Digital Signal Processing :: 04-27-2007 23:48 :: echo47 :: Replies: **4** :: Views: **10582**

Hi
why dont include your code, it is difficult to know what you are really doing. In any case it should be something like this
**fft**shift(**abs**(**fft**(x)))
where x is has the values of your signal
if you think this info is useful click on "helped me" for statistics
Sal

Digital Signal Processing :: 02-25-2007 03:05 :: Sal :: Replies: **3** :: Views: **2567**

I create a sine-wave in matlab and do **fft**
fbin = 11;
n = 512;
u = 1/2 * sin(2*pi*fbin/n*);
w = hann(n);
w1 = norm(w,1);
U = **fft**(w.*u)/(w1); % scale for sine-wave
psd = **abs**(U).^2;
pow = sum(psd);
but I get the wrong answer, pow supposed to be 0.125 which is 0.5^2/2.
The reason is that there are two extra non-ze

Digital Signal Processing :: 12-09-2006 17:33 :: qslazio :: Replies: **1** :: Views: **1322**

Unless some adjustment in frequency axis, you can start trying the code below.
>> w1=5;
>> t=0:1/7:8;
>> ws=7;
>> x=sin(w1*t);
>> Xw=**abs**(**fft**shift(**fft**(x)));
>> Ws=*ws;
>> plot(Ws,Xw)

Digital Signal Processing :: 02-15-2006 01:39 :: claudiocamera :: Replies: **3** :: Views: **1550**

Hi
Yes, the **fft** results contain both amplitude and phase information.
To plot only the amplitude try **abs**( **fft**( ... ) );
Another useful MATLAB function for psd plotting is pwelch.
Regards

Elementary Electronic Questions :: 12-24-2005 09:42 :: Circuit_seller :: Replies: **38** :: Views: **178266**

little matlab demo for fractional **fft**...enjoy
N=64;
t=2*pi/N*;c=1;
for k=-N/2:N/2 B(c,:)=1/sqrt(N+1)*exp(-j*k*t);c=c+1;end;
f=exp(-t.^2);
f=f-min(f);
f=f';
figure(1);clf;set(gcf,'Renderer','zbuffer');
for n=0:0.1:2.0
Bn=B^n;fn=**abs**(Bn*f);plot(fn,'b');hold on;plot(f,'r--');hold off;
text(10,1.7,sprintf('%0.2f',n));

RF, Microwave, Antennas and Optics :: 04-18-2003 22:25 :: rntsay :: Replies: **0** :: Views: **2475**

Previous
1
Next

Last searching phrases:

last three | throughout | cant get | nobody | seven | take course | three five | keep out | forth | nor not

last three | throughout | cant get | nobody | seven | take course | three five | keep out | forth | nor not