I have a set of data in excel like this:

excel data

column A is time in ns and column B is the electric field strength. now I want to convert the time-domain signal from these data to a frequency-domain signal with DSP toolbox in matlab.

to calculate Fs (sampling frequency) in order to use in signal analyse i use this formula:

time = T(:,1);      
Ts = mean(diff(time));
Fs = 1/Ts;

which leads to :

Fs= 5e+09

then I import the signal (E) with sampling frequency Fs in signal analyze toolbox. my signal is like this:

Signal in Matlab

now i want to apply a bandpass filter in 16-32 MHZ range , so :

Out of memory

I've increased the paging file to maximum on my system with no success! I should say that my system configuration is like this:

i5 CPU at 2.5 GHz

8 GB R3 Ram at 1600 MHz

I have two specific questions:

1- what should I do? Is there any thing that I should do to to be able to design the filter on my system?

2- if I change the time to second and the frequency to hz , how much does the results change?


closed as off-topic by jonsca, sansuiso, nispio, Peter K. Nov 17 '13 at 18:57

  • This question does not appear to be about signal processing within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    $\begingroup$ This question appears to be off-topic because it is about configuring the software $\endgroup$ – jonsca Oct 27 '13 at 4:51

Your sampling frequency is currently set to 5000000000 MHz, which is 5000 terahertz! Notice that the units on the frequency specification should all be in MHz. Change the Fs value to be 5000 (MHz) and you will be much better off.

However, even once you fix this problem, you still may run into trouble. You are specifying transition bands that have a width of less than 0.01% of your sampling rate. This is not going to be practical, especially as an FIR filter. I recommend that you consider a good low-pass filter followed by lots of down sampling. Then you will be able to realistically extract the band of interest.

  • $\begingroup$ Thank you so much!....after changing the value to 5000, problem solved... I'm new to matlab so i'm trying to find the easiest way... I have no idea about the low-pass filter! $\endgroup$ – Mohammad Sobbouhi Oct 25 '13 at 22:37
  • $\begingroup$ now....how can I extract the data of the new signal in order to convert the time-domain signal to frequency-domain one? is it true to export the signal into workspace and use the data variable? $\endgroup$ – Mohammad Sobbouhi Oct 25 '13 at 22:43
  • $\begingroup$ @MohammadSobbouhi: I'm not entirely sure what you are asking. There are a handful of ways that you can use the filter that you just designed. One way is to export the filter coefficients to the workspace. If you saved the coefficients in a variable named coef, you could apply it to a signal x with y = filter(coef,1,x). If you need additional help, I suggest you post a new question. $\endgroup$ – nispio Oct 25 '13 at 22:53

Not the answer you're looking for? Browse other questions tagged or ask your own question.