[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Real-data DFT in Octave
From: |
Sergei Steshenko |
Subject: |
Re: Real-data DFT in Octave |
Date: |
Sat, 6 Oct 2012 09:50:23 -0700 (PDT) |
----- Original Message -----
> From: Torbjörn Rathsman <address@hidden>
> To: Sergei Steshenko <address@hidden>
> Cc: "address@hidden" <address@hidden>
> Sent: Saturday, October 6, 2012 5:28 PM
> Subject: Re: Real-data DFT in Octave
>
> Sergei Steshenko skrev 2012-10-06 15:35:
>>
>>
>>
>> ----- Original Message -----
>>> From: Torbjörn Rathsman <address@hidden>
>>> To: address@hidden
>>> Cc:
>>> Sent: Saturday, October 6, 2012 3:18 PM
>>> Subject: Real-data DFT in Octave
>>>
>>> Is it possible to without much effort call the real to complex dft
> routins from
>>> octave. It is easier to manipulate the spectrum that way, since i am
> guarantied
>>> that the mirror part becomes correct. The purpose in this case is to
> compute
>>> filtered derivative of second order.
>>> _______________________________________________
>>> Help-octave mailing list
>>> address@hidden
>>> https://mailman.cae.wisc.edu/listinfo/help-octave
>>
>> I am not sure what the problem is, but dealing with real input data I use
> 'conj' and 'fliplr' in the end when I need to produce mirrored
> spoectrum for inverse FFT.
>>
>> Regards,
>> Sergei.
>>
>>
> Do you mean
>
> Y=fft(y)';
> for k=1:length(Y)
> if(k<=1024)
> Y(k)=(k-1)*(k-1)*Y(k)/N;
> else
> Y(k)=0;
> end
> end
>
> Y=Y+conj( fliplr(Y) );
> ? cannot get it work.
Let's for simplicity assume N is even and let's assume 'signal' is 1:N real
vector. Let's also assume 'filter' is 1:N/2 complex vector. Then:
spectrum = fft(signal);
filtered_spectrum = spectrum(1:N/2) .* filter;
filtered_signal = real(ifft([filtered_spectrum
conj(fliplr(filtered_spectrum))]));
- the above is the idiom I'm using everywhere for real input signals.
Regards,
Sergei.
>
- Real-data DFT in Octave, Torbjörn Rathsman, 2012/10/06
- Re: Real-data DFT in Octave, Torbjörn Rathsman, 2012/10/06
- Re: Real-data DFT in Octave, Torbjörn Rathsman, 2012/10/06
- Message not available
- Message not available
- Re: Real-data DFT in Octave, Torbjörn Rathsman, 2012/10/06
- Re: Real-data DFT in Octave, Sergei Steshenko, 2012/10/06
- Re: Real-data DFT in Octave, Torbjörn Rathsman, 2012/10/06
- Re: Real-data DFT in Octave, Sergei Steshenko, 2012/10/06
- Re: Real-data DFT in Octave, Torbjörn Rathsman, 2012/10/07
- Re: Real-data DFT in Octave, Sergei Steshenko, 2012/10/06