Register to reply 
Discrete fourier transform data of 2 different sampling frequencies 
Share this thread: 
#1
Jul1014, 04:51 AM

P: 3

Hi All,
I have a problem I've been thinking about for a while, but I haven't come up with a really satisfactory solution: I want to do a discrete fourier transform on data that has been sampled at 2 different sampling frequencies. I've attached a picture of what my data will look like. The goal with these two different sampling rates is to use a long waveform for good resolution in the fourier transform (be able to see low frequencies), and also use high sample rate to see the high frequencies in the data. I've considered averaging the highsampled data and doing a fast fourier transform (FFT) on that, and then also doing another independent FFT of the highersamplerate data, and then stitching these FFTs together. The problem is that will give me different resolutions of the FFTs, and I believe also cause some unorthodox aliasing issues. Any suggestions/references would be greatly appreciated, Cheers! (I'm familiar with Fouriertransforms for nonuniformly sampled data, (such as the LombScargle method) but I'm hoping for a simpler solution since my data won't be completely nonuniform, but just at two different frequencies.) 


#2
Jul1014, 08:07 AM

P: 138

I dont think what you are trying to do will work
When you use a lower sampling frequency the higher frequency elements will alias and skew your data. Could you first run the data through a High pass filter or Low pass filter and then do the DFT? 


#3
Jul1014, 05:02 PM

P: 3

Yes, thanks for clearing that up; I now agree that all the aliasing in my slowersampled data will give me useless fourier transform information.
Thank you also for your suggestion re:low pass filtering, and I'd like to pursue this further. I suppose the steps to take would be to (1) put the slowersampled data through a lowpass filter (2) do a FFT on the results of the filter to get an unaliased spectrum (3) then above the nyquist frequency of the slower sampled data, stitch on the FFT of the highersampled data. Following these steps, I'd still have the problem of a much poorer resolution at higher frequencies. Since it would be nice to have evenlysampled spectral data for later analysis of the spectra, I might just break up the larger bins at the higher frequencies into smaller bins. Does this sounds like the best solution?, and if so is there a good starting point reference for a digital lowpass filter. Thanks again! 


#4
Jul1014, 05:20 PM

P: 138

Discrete fourier transform data of 2 different sampling frequencies
I think you're on the right track. However you would need to filter the data BEFORE doing the samples. Otherwise filtered or not you'll still have aliased data.
I'd start by taking a look at Matlab filter design and go from there. I just finished a course on DSP 2 months ago and I don't really remember a heck of a lot about designing a filter. I'll take a look at my notes this weekend and see if anything jogs my memory. In the mean time start with http://www.mathworks.com/discovery/filterdesign.html or http://myweb.dal.ca/gonzalej/Teachin.../ECED4502.html (class notes from my DSP class) 


#5
Jul1014, 08:59 PM

P: 788

How much control do you have over the sampling rates and prefiltering (before sampling)? Is it completely up to you? If it is, how do you know when to switch to high sampling rate?



#6
Jul1014, 09:48 PM

P: 3

Maybe I should have provided some more context:
I have very little control of the sampling rates and the prefiltering (without some hardware changes to our readout electronics). The electronics have been designed to provide a waveform trace with these two different sampling frequencies. Our electronics know to switch to a high sample rate because it knows where the pulse peak occurs in time (see attached .pdf in my original post). To be more accurate (and probably make more sense), the electronics actually digitize the entire waveform trace at the original high frequency (625 kHz), but then when outputting the data it averages the data on each side of the pulse peak by 16 bins. This was a nifty solution to reducing data throughput, but it's clearly complicating the spectrum analysis side of things! Because of the difficulty of applying a filter predigitization and the points that cpscdave has made, I'm considering looking into a LombScargle sort of analysis for the fourier transforms. Any additional advice would be greatly appreciated. 


#7
Jul1014, 10:16 PM

P: 788

So if it's reasonable to assume that the lowsamplingrate region contains no highfrequency information of interest, then an programmatically simple approach could be to up sample the data so that you have a full 625 Khz record, then apply your favorite spectral estimation method from there.
cpscdave's suggestion to properly lowpass the 625 kHz section could also work. That should give you a full 40 kHz record without aliasing, then you can join that with a separatelycomputed spectrum from the higherresolution section. The resolutions of the different sections will be different, but so what? 


Register to reply 
Related Discussions  
Fourier Transform, Discrete Forier Transform image processing  Linear & Abstract Algebra  3  
Discrete Fourier Transform (DFT) Help  Calculus  15  
Interpolating Data with the Discrete Fourier Transform  Linear & Abstract Algebra  1  
Discrete Fourier Transform  Engineering, Comp Sci, & Technology Homework  1  
Fourier Transform Question  Negative Frequencies?  Calculus  2 