DSPRelated.com
Forums

RE: Digest Number 3119 [SEC=UNCLASSIFIED]

Started by Ray Jones September 14, 2011
The FFT spectrum plot at http://i55.tinypic.com/jpii69.jpg suggests to me you are viewing a full complex spectra. ie +ve and -ve frequencies.
The spike at 512 is actually a DC offset.

The two normal looking signals are actually images of each other if you are feeding the FFT with the imaginary channel always at zero - ie only real data.

The plot is reminiscent of what I show on our doppler radar systems.

Regards, Ray Jones
________________________________________
From: c... [c...]
Sent: Wednesday, 14 September 2011 2:12 AM
To: c...
Subject: [c6x] Digest Number 3119

There are 2 messages in this issue.

Topics in this digest:

1. Accessing SDRAM in Boot Flash Mode
From: B S

2a. Re: FFT Frequency Range
From: B S
Messages
________________________________________________________________________
1. Accessing SDRAM in Boot Flash Mode
Posted by: "B S" m...@yahoo.com matlab_fft
Date: Tue Sep 13, 2011 7:40 am ((PDT))

Hi,
I am working on the development of a system using C6713 DSP that has to boot from Boot
Flash. I am intending to run the DSP for couple of hours and saving the data in SDRAM. I am wondering how would I retrieve the data to analyse them in Matlab ?

I would appreciate any help dealing with that.

-BAS

Messages in this topic (1)
________________________________________________________________________
________________________________________________________________________
2a. Re: FFT Frequency Range
Posted by: "B S" m...@yahoo.com matlab_fft
Date: Tue Sep 13, 2011 7:41 am ((PDT))

Jeff,
I am sure code is working fine. Some thing is wrong with memory, some variables are overwriting and showing different values than expected which is causing a peak at 512th samples. Don't know how to figure out what's going on..

________________________________
From: Jeff Brower
To: BAS
Cc: c...
Sent: Friday, September 2, 2011 8:25 PM
Subject: Re: [c6x] Re: FFT Frequency Range

BAS-

> Sorry didn't have time to look over this problem earlier..
>
> You were right, I encountered possiblity no. 3. Code is
> woring fine but that shows one strange spike at 512th sample
> that is out of my understanding. You can look the snapshot
>but I am trying to fix this problem.
>
> http://i55.tinypic.com/jpii69.jpg

Your spike at N/2 indicates a strong frequency component at Fs/2. For example if you're sampling at 20 MHz then your
plot shows significant energy at 10 MHz. If you don't think that's correct, then probably a coding or buffering
problem is still lingering.

One thing you might try is to feed your FFT all zeros and see if you still see the spike. If not, then feed it a 1
followed by zeros, etc. Basically try some simple inputs for which you expect specific output, and see what happens.

-Jeff

> ________________________________
> From: Jeff Brower
> To: BAS
> Cc: c...
> Sent: Sunday, August 14, 2011 11:19 PM
> Subject: Re: [c6x] Re: FFT Frequency Range
> br /> > BAS-
>
>> I know about aliasing.
>> If sampling frequency is 351.56 kHz, then the maximum frequency represented in FFT is FS/2, or 175.78 kHz. Does it
>> mean that freq. resolution will be calculated using 175.78 kHz ?
>>
>> I have 1 kHz sine wave which is sampling at 351.56 kHz then I computed 512-point FFT. FFT magnitude shows peak at
>> 4th
>> sample which doesn't seem correct. If freq. resolution is 351.56 kHz/512 = 686.64 Hz then peak should appear at 2nd
>> sample (686.64*2 = 1373.28 Hz).
>>
>> Thats why I am wondering if discarding half of the FFT buffer should affect the freq. resolution ? If not then why
>> peak is appearing at 4th sample ?
>
> 3 possibilities:
>
> 1) Your sine wave is 2 kHz, not 1 kHz.
>
> 2) Your sampling rate is 700 kHz, not 350 kHz.
>
> 3) Your code is messed up.
>
> My guess is #3. Suggest that you use CCS to capture a segment of your sampled 1 kHz sine wave and post as a .dat
> file, then people on the group can run MATLAB or other program to eliminate #1 and #2.
>
> -Jeff

Messages in this topic (8)

_____________________________________



_____________________________________
512 is not a DC component. The algorithm I used consider real signals in a complex format meaning that there are no zeros for immiganiray portion. Input Buffer has 1024 samples so the next DC component lies at 1025th sample.

I mentioned there are few variables showing different values than expected (don't know why and how) that is causing a peak at 512th sample.

BAS

________________________________
From: Ray Jones
To: "m...@yahoo.com"
Cc: "c..."
Sent: Wednesday, September 14, 2011 12:58 AM
Subject: RE: [c6x] Digest Number 3119 [SEC=UNCLASSIFIED]

The FFT spectrum plot at http://i55.tinypic.com/jpii69.jpg suggests to me you are viewing a full complex spectra. ie +ve and -ve frequencies.
The spike at 512 is actually a DC offset.

The two normal looking signals are actually images of each other if you are feeding the FFT with the imaginary channel always at zero - ie only real data.

The plot is reminiscent of what I show on our doppler radar systems.

Regards, Ray Jones
________________________________________
From: c... [c...]
Sent: Wednesday, 14 September 2011 2:12 AM
To: c...
Subject: [c6x] Digest Number 3119

There are 2 messages in this issue.

Topics in this digest:

1. Accessing SDRAM in Boot Flash Mode
From: B S

2a. Re: FFT Frequency Range
From: B S
Messages
________________________________________________________________________
1. Accessing SDRAM in Boot Flash Mode
Posted by: "B S" m...@yahoo.com matlab_fft
Date: Tue Sep 13, 2011 7:40 am ((PDT))

Hi,
I am working on the development of a system using C6713 DSP that has to boot from Boot
Flash. I am intending to run the DSP for couple of hours and saving the data in SDRAM. I am wondering how would I retrieve the data to analyse them in Matlab ?

I would appreciate any help dealing with that.

-BAS

Messages in this topic (1)
________________________________________________________________________
________________________________________________________________________
2a. Re: FFT Frequency Range
Posted by: "B S" m...@yahoo.com matlab_fft
Date: Tue Sep 13, 2011 7:41 am ((PDT))

Jeff,
I am sure code is working fine. Some thing is wrong with memory, some variables are overwriting and showing different values than expected which is causing a peak at 512th samples. Don't know how to figure out what's going on..

________________________________
From: Jeff Brower
To: BAS
Cc: c...
Sent: Friday, September 2, 2011 8:25 PM
Subject: Re: [c6x] Re: FFT Frequency Range

BAS-

> Sorry didn't have time to look over this problem earlier..
>
> You were right, I encountered possiblity no. 3. Code is
> woring fine but that shows one strange spike at 512th sample
> that is out of my understanding. You can look the snapshot
>but I am trying to fix this problem.
>
> http://i55.tinypic.com/jpii69.jpg

Your spike at N/2 indicates a strong frequency component at Fs/2. For example if you're sampling at 20 MHz then your
plot shows significant energy at 10 MHz. If you don't think that's correct, then probably a coding or buffering
problem is still lingering.

One thing you might try is to feed your FFT all zeros and see if you still see the spike. If not, then feed it a 1
followed by zeros, etc. Basically try some simple inputs for which you expect specific output, and see what happens.

-Jeff

> ________________________________
> From: Jeff Brower
> To: BAS
> Cc: c...
> Sent: Sunday, August 14, 2011 11:19 PM
> Subject: Re: [c6x] Re: FFT Frequency Range
> br /> > BAS-
>
>> I know about aliasing.
>> If sampling frequency is 351.56 kHz, then the maximum frequency represented in FFT is FS/2, or 175.78 kHz. Does it
>> mean that freq. resolution will be calculated using 175.78 kHz ?
>>
>> I have 1 kHz sine wave which is sampling at 351.56 kHz then I computed 512-point FFT. FFT magnitude shows peak at
>> 4th
>> sample which doesn't seem correct. If freq. resolution is 351.56 kHz/512 = 686.64 Hz then peak should appear at 2nd
>> sample (686.64*2 = 1373.28 Hz).
>>
>> Thats why I am wondering if discarding half of the FFT buffer should affect the freq. resolution ? If not then why
>> peak is appearing at 4th sample ?
>
> 3 possibilities:
>
> 1) Your sine wave is 2 kHz, not 1 kHz.
>
> 2) Your sampling rate is 700 kHz, not 350 kHz.
>
> 3) Your code is messed up.
>
> My guess is #3. Suggest that you use CCS to capture a segment of your sampled 1 kHz sine wave and post as a .dat
> file, then people on the group can run MATLAB or other program to eliminate #1 and #2.
>
> -Jeff

Messages in this topic (8)

_____________________________________

Ray-

> The FFT spectrum plot at http://i55.tinypic.com/jpii69.jpg
> suggests to me you are viewing a full complex spectra. ie
> +ve and -ve frequencies.
> The spike at 512 is actually a DC offset.
>
> The two normal looking signals are actually images of each
> other if you are feeding the FFT with the imaginary channel
> always at zero - ie only real data.
>
> The plot is reminiscent of what I show on our doppler radar systems.

In a complex display, the dc value appears once, in the real component, at bin = 0. For a case where the FFT input
was real-valued only, the symmetric and anti-symmetric halves pivot at N/2 and do not include dc data.

-Jeff

> ________________________________________
> From: c... [c...]
> Sent: Wednesday, 14 September 2011 2:12 AM
> To: c...
> Subject: [c6x] Digest Number 3119
>
> There are 2 messages in this issue.
>
> Topics in this digest:
>
> 1. Accessing SDRAM in Boot Flash Mode
> From: B S
>
> 2a. Re: FFT Frequency Range
> From: B S
> Messages
> ________________________________________________________________________
> 1. Accessing SDRAM in Boot Flash Mode
> Posted by: "B S" m...@yahoo.com matlab_fft
> Date: Tue Sep 13, 2011 7:40 am ((PDT))
>
> Hi,
> I am working on the development of a system using C6713 DSP that has to boot from Boot
> Flash. I am intending to run the DSP for couple of hours and saving the data in SDRAM. I am wondering how would I
> retrieve the data to analyse them in Matlab ?
>
> I would appreciate any help dealing with that.
>
> -BAS
> Messages in this topic (1)
> ________________________________________________________________________
> ________________________________________________________________________
> 2a. Re: FFT Frequency Range
> Posted by: "B S" m...@yahoo.com matlab_fft
> Date: Tue Sep 13, 2011 7:41 am ((PDT))
>
> Jeff,
> I am sure code is working fine. Some thing is wrong with memory, some variables are overwriting and showing different
> values than expected which is causing a peak at 512th samples. Don't know how to figure out what's going on..
>
> ________________________________
> From: Jeff Brower
> To: BAS
> Cc: c...
> Sent: Friday, September 2, 2011 8:25 PM
> Subject: Re: [c6x] Re: FFT Frequency Range
>
> BAS-
>
>> Sorry didn't have time to look over this problem earlier..
>>
>> You were right, I encountered possiblity no. 3. Code is
>> woring fine but that shows one strange spike at 512th sample
>> that is out of my understanding. You can look the snapshot
>>but I am trying to fix this problem.
>>
>> http://i55.tinypic.com/jpii69.jpg
>
> Your spike at N/2 indicates a strong frequency component at Fs/2. For example if you're sampling at 20 MHz then your
> plot shows significant energy at 10 MHz. If you don't think that's correct, then probably a coding or buffering
> problem is still lingering.
>
> One thing you might try is to feed your FFT all zeros and see if you still see the spike. If not, then feed it a 1
> followed by zeros, etc. Basically try some simple inputs for which you expect specific output, and see what happens.
>
> -Jeff
>
>> ________________________________
>> From: Jeff Brower
>> To: BAS
>> Cc: c...
>> Sent: Sunday, August 14, 2011 11:19 PM
>> Subject: Re: [c6x] Re: FFT Frequency Range
>> br /> >> BAS-
>>
>>> I know about aliasing.
>>>
>>>
>>> If sampling frequency is 351.56 kHz, then the maximum frequency represented in FFT is FS/2, or 175.78 kHz. Does it
>>> mean that freq. resolution will be calculated using 175.78 kHz ?
>>>
>>> I have 1 kHz sine wave which is sampling at 351.56 kHz then I computed 512-point FFT. FFT magnitude shows peak at
>>> 4th
>>> sample which doesn't seem correct. If freq. resolution is 351.56 kHz/512 = 686.64 Hz then peak should appear at 2nd
>>> sample (686.64*2 = 1373.28 Hz).
>>>
>>> Thats why I am wondering if discarding half of the FFT buffer should affect the freq. resolution ? If not then why
>>> peak is appearing at 4th sample ?
>>
>> 3 possibilities:
>>
>> 1) Your sine wave is 2 kHz, not 1 kHz.
>>
>> 2) Your sampling rate is 700 kHz, not 350 kHz.
>>
>> 3) Your code is messed up.
>>
>> My guess is #3. Suggest that you use CCS to capture a segment of your sampled 1 kHz sine wave and post as a .dat
>> file, then people on the group can run MATLAB or other program to eliminate #1 and #2.
>>
>> -Jeff
> Messages in this topic (8)
>
> _____________________________________
>
>
>
> _____________________________________
>

_____________________________________
Yes, you are correct.
Perhaps the bit I left out is if you split and shift the display so zero becomes the 512th sample what I suggested would then be possible. ie the plot shows -Nyquist through zero to +Nyquist.

When it comes to my usage, =ve and +ve frequencies are better presented in this form, and such a DC spike is common if there is a DC offset on the signal.
DC offsets can come about by truncation errors tending to push -ve values to a higher magnitude, and +ve values to a lower magnitude.
I have seen a display pretty much exactly as shown due to this.

It is a possibility, and without code for others to run, well anything is possible

Ray

________________________________________
From: Jeff Brower [j...@signalogic.com]
Sent: Thursday, 15 September 2011 1:43 AM
To: Ray Jones
Cc: c...
Subject: RE: [c6x] Digest Number 3119 [SEC=UNCLASSIFIED]

Ray-

> The FFT spectrum plot at http://i55.tinypic.com/jpii69.jpg
> suggests to me you are viewing a full complex spectra. ie
> +ve and -ve frequencies.
> The spike at 512 is actually a DC offset.
>
> The two normal looking signals are actually images of each
> other if you are feeding the FFT with the imaginary channel
> always at zero - ie only real data.
>
> The plot is reminiscent of what I show on our doppler radar systems.

In a complex display, the dc value appears once, in the real component, at bin = 0. For a case where the FFT input
was real-valued only, the symmetric and anti-symmetric halves pivot at N/2 and do not include dc data.

-Jeff

> ________________________________________
> From: c... [c...]
> Sent: Wednesday, 14 September 2011 2:12 AM
> To: c...
> Subject: [c6x] Digest Number 3119
>
> There are 2 messages in this issue.
>
> Topics in this digest:
>
> 1. Accessing SDRAM in Boot Flash Mode
> From: B S
>
> 2a. Re: FFT Frequency Range
> From: B S
> Messages
> ________________________________________________________________________
> 1. Accessing SDRAM in Boot Flash Mode
> Posted by: "B S" m...@yahoo.com matlab_fft
> Date: Tue Sep 13, 2011 7:40 am ((PDT))
>
> Hi,
> I am working on the development of a system using C6713 DSP that has to boot from Boot
> Flash. I am intending to run the DSP for couple of hours and saving the data in SDRAM. I am wondering how would I
> retrieve the data to analyse them in Matlab ?
>
> I would appreciate any help dealing with that.
>
> -BAS
> Messages in this topic (1)
> ________________________________________________________________________
> ________________________________________________________________________
> 2a. Re: FFT Frequency Range
> Posted by: "B S" m...@yahoo.com matlab_fft
> Date: Tue Sep 13, 2011 7:41 am ((PDT))
>
> Jeff,
> I am sure code is working fine. Some thing is wrong with memory, some variables are overwriting and showing different
> values than expected which is causing a peak at 512th samples. Don't know how to figure out what's going on..
>
> ________________________________
> From: Jeff Brower
> To: BAS
> Cc: c...
> Sent: Friday, September 2, 2011 8:25 PM
> Subject: Re: [c6x] Re: FFT Frequency Range
>
> BAS-
>
>> Sorry didn't have time to look over this problem earlier..
>>
>> You were right, I encountered possiblity no. 3. Code is
>> woring fine but that shows one strange spike at 512th sample
>> that is out of my understanding. You can look the snapshot
>>but I am trying to fix this problem.
>>
>> http://i55.tinypic.com/jpii69.jpg
>
> Your spike at N/2 indicates a strong frequency component at Fs/2. For example if you're sampling at 20 MHz then your
> plot shows significant energy at 10 MHz. If you don't think that's correct, then probably a coding or buffering
> problem is still lingering.
>
> One thing you might try is to feed your FFT all zeros and see if you still see the spike. If not, then feed it a 1
> followed by zeros, etc. Basically try some simple inputs for which you expect specific output, and see what happens.
>
> -Jeff
>
>> ________________________________
>> From: Jeff Brower
>> To: BAS
>> Cc: c...
>> Sent: Sunday, August 14, 2011 11:19 PM
>> Subject: Re: [c6x] Re: FFT Frequency Range
>> br /> >> BAS-
>>
>>> I know about aliasing.
>>>
>>>
>>> If sampling frequency is 351.56 kHz, then the maximum frequency represented in FFT is FS/2, or 175.78 kHz. Does it
>>> mean that freq. resolution will be calculated using 175.78 kHz ?
>>>
>>> I have 1 kHz sine wave which is sampling at 351.56 kHz then I computed 512-point FFT. FFT magnitude shows peak at
>>> 4th
>>> sample which doesn't seem correct. If freq. resolution is 351.56 kHz/512 = 686.64 Hz then peak should appear at 2nd
>>> sample (686.64*2 = 1373.28 Hz).
>>>
>>> Thats why I am wondering if discarding half of the FFT buffer should affect the freq. resolution ? If not then why
>>> peak is appearing at 4th sample ?
>>
>> 3 possibilities:
>>
>> 1) Your sine wave is 2 kHz, not 1 kHz.
>>
>> 2) Your sampling rate is 700 kHz, not 350 kHz.
>>
>> 3) Your code is messed up.
>>
>> My guess is #3. Suggest that you use CCS to capture a segment of your sampled 1 kHz sine wave and post as a .dat
>> file, then people on the group can run MATLAB or other program to eliminate #1 and #2.
>>
>> -Jeff
> Messages in this topic (8)
>
> _____________________________________
>
>
>
> _____________________________________
>

_____________________________________