time-frequency representation of a BPSK signal using winger-ville distribution(wvd function in MatLab)

6 views (last 30 days)
I am trying to generate time-frequency representation of a BPSK signal using winger-ville distribution(wvd function in MatLab) with sampling frequency fs=1000*10^2. But getting the following error:
Requested 26028x13014 (5.0GB) array exceeds maximum array size preference (5.0GB). This might cause MATLAB to become unresponsive.
kMat = complex(zeros(2*nFreq,nhTime,'like',x));
[wvdMat,freqVec] = signalwavelet.internal.wvd.wvdImpl(opts);
[D,F] = computeWVD(opts);
I am not able to understand the issue. Please provide a solution.

Answers (1)

Karan Singh
Karan Singh on 5 Sep 2023
Hi Debojit,
From what I understand, you are trying to generate the Wigner-Ville Distribution (WVD) of a BPSK (Binary Phase Shift Keying) signal using the wvd function in MATLAB. The sampling frequency of the signal is set to fs = 1000*10^2 (which is 100,000).
However, while running the code, you encountered an error stating that the requested array size exceeds the maximum array size preference in MATLAB, which is set to 5.0GB. This error message suggests that the size of the output array generated by the wvd function is too large to fit within the memory limits.
To resolve this issue, you can try the following solutions:
  1. Decrease the time and frequency resolution: The WVD function allows you to specify the time and frequency resolution. By decreasing these parameters, you can reduce the size of the output array. Experiment with different values for the time and frequency resolution to find a balance between accuracy and memory usage.
  2. Increase the maximum array size preference: If your computer has sufficient memory, you can increase the maximum array size preference in MATLAB. To do this, go to the "Home" tab in MATLAB, click on "Preferences," select "MATLAB," and then choose "General." From there, you can adjust the "Maximum Array Size" preference to a higher value.
  3. Use a different time-frequency representation: If the above solutions do not work, you can explore other time-frequency representations that may have lower memory requirements compared to the Wigner-Ville Distribution. Some alternatives include the Short-Time Fourier Transform (STFT), Continuous Wavelet Transform (CWT), or the spectrogram function in MATLAB.
  4. Reduce the size of the input signal: If possible, reduce the length of your input BPSK signal before applying the WVD function. This will result in a smaller output array and may help avoid exceeding the maximum array size preference.
Implementing one or a combination of these solutions should help you address the memory issue you are facing when generating the Wigner-Ville Distribution for your BPSK signal.
Attached below are some documentation links that you may find helpful:
Hope this helps!

Categories

Find more on Time-Frequency Analysis in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!