I am implementing the Digital Fourier Transform now.

After transfering, I got the coefficient of each of freqencies.

But, I was confused what the relationship between the coefficient and dbm of real signal.

For example, there is a signal with 2Vp-p amplitude and 10Hz input.

The signal power is calculated to 10log((2/(2*sqrt(2)))^2/50)=10dbm.

But, the coefficient of 10Hz is about 512.

How to transfer the coefficient value to power unit?

Appreciated.

## fft coefficient and dbm?

### Re: fft coefficient and dbm?

"The signal power is calculated to <p>10log((2/(2*sqrt(2)))^2/50)=10dbm."<p>I'm dredging this up through uncounted layers of 65-year-old wrinkled cortex, but just to kick this along and to pique others' interest, shouldn't that be:<p>20 log without the squaring (for voltage)?<p>And are you sure the denominator shouldn't be 600 ohms instead of 50 ohms?<p>This response might make me look stoopit again, but that equation does not smell right.<p>[ March 22, 2005: Message edited by: terri ]</p>

terri wd0edw

### Re: fft coefficient and dbm?

Ohms? What's ohms got to do wth it?

### Re: fft coefficient and dbm?

As I recall, If you are comparing actual power ratios to get dB, the load impedance doesn't matter. <p>But if you are using the voltage ratio or the current ratio to get dB, the load impedance for both values of voltage or current must be the same, and you must square either the voltage or the current to get the power. (P = I squared R, or P = E squared / R.)<p>I noticed the "50" in the denominator under the squared voltage, apparently to get the power.<p>So I wondered if any anomolies he is seeing might be because he is using an impedance of 50 ohms, whereas many measurements are specified as being at 600 ohms, which might be what is screwing up his expectations.<p>In addition, he used 20 log when he had already squared the voltage inside the equation.<p>Moreover, he is referencing to a milliwatt (dBm), but I don't see where that came in to the power comparison from what he told us.<p>Now, as I said, the equation just looks "funny" to me, but this could be function of the notation used.<p>In any case, David753 hasn't responded, so I assume he got an answer outside the board from someone smarter than me.<p>I'm digging all this power-comparison/deciBel stuff up from thirty-forty years ago, but since nobody answered his original post for a long time, I figured I'd throw some mud at it in hopes that the aforementioned "smarter than me" person would figure it out and then I'd be just as smart.<p>On the other hand this could just be another "X-ray" post, so maybe that's why nobody responded but silly little me.<p>[ March 29, 2005: Message edited by: terri ]</p>

terri wd0edw

### Re: fft coefficient and dbm?

N=512; % point numbers

f=11;

fs=44000; %sampling freq. <p>t=0:N-1;

q=1;

for f=11:11:22000 % freq. varies

y=sin(2*pi*f*t/fs);

fy1=zeros(1,N/2);

fy2=zeros(1,N/2); <p>for j=1:N/2

for i=1:N

fy1(j)=fy1(j)+y(i)*cos(2*pi*j*i/N);

fy2(j)=fy2(j)+y(i)*sin(2*pi*j*i/N);

end

end <p>fy_sum=sqrt(fy1.*fy1+fy2.*fy2); % complex value

fy_sum1=fy_sum.^2/(N/2);

%plot((1:N/2)/(N/2)*(fs/2),fy_sum); <p>total_sum=sum(fy_sum1); <p>checkfreq(q)=f;

checkmax(q)=max(fy_sum1);

checklist(q)=total_sum;

q=q+1;

end; <p>checkfreqb=checkfreq';

checkmaxb=checkmax';

checklistb=checklist';

checkall=cat(2,checkfreqb,checkmaxb,checklistb); <p>TITLE(total_sum); <p>============================

as above, the code is executed in matlab.

if you check the checkall array of matlab, you will find the result are varies in both max coefficient and total coefficient when the input freq are varies.

I was confused how to transfer the coefficient to dbm value.

f=11;

fs=44000; %sampling freq. <p>t=0:N-1;

q=1;

for f=11:11:22000 % freq. varies

y=sin(2*pi*f*t/fs);

fy1=zeros(1,N/2);

fy2=zeros(1,N/2); <p>for j=1:N/2

for i=1:N

fy1(j)=fy1(j)+y(i)*cos(2*pi*j*i/N);

fy2(j)=fy2(j)+y(i)*sin(2*pi*j*i/N);

end

end <p>fy_sum=sqrt(fy1.*fy1+fy2.*fy2); % complex value

fy_sum1=fy_sum.^2/(N/2);

%plot((1:N/2)/(N/2)*(fs/2),fy_sum); <p>total_sum=sum(fy_sum1); <p>checkfreq(q)=f;

checkmax(q)=max(fy_sum1);

checklist(q)=total_sum;

q=q+1;

end; <p>checkfreqb=checkfreq';

checkmaxb=checkmax';

checklistb=checklist';

checkall=cat(2,checkfreqb,checkmaxb,checklistb); <p>TITLE(total_sum); <p>============================

as above, the code is executed in matlab.

if you check the checkall array of matlab, you will find the result are varies in both max coefficient and total coefficient when the input freq are varies.

I was confused how to transfer the coefficient to dbm value.

### Re: fft coefficient and dbm?

FFT is easy to understand it, if we just see its theory formula.

But, if we want to implement to be a practical Instrument, it will have a little bit challenge. <p>Here is my problems that I encounter.

Check it out.

http://justfun.why3s.net/others/FFT2tone.doc

But, if we want to implement to be a practical Instrument, it will have a little bit challenge. <p>Here is my problems that I encounter.

Check it out.

http://justfun.why3s.net/others/FFT2tone.doc

### Who is online

Users browsing this forum: No registered users and 12 guests