SFDR measurement routine to exclude bins close to DC

조회 수: 9 (최근 30일)
mahesh subramanyam
mahesh subramanyam 2022년 3월 25일
답변: Gayatri 2024년 1월 31일
I am trying to measure the SFDR using the sfdr function from the signal processing tool box. I want to exclude bins close to DC. How could we do this with the sfdr function?

답변 (1개)

Gayatri
Gayatri 2024년 1월 31일
Hi,
To exclude bins close to DC when measuring the Spurious-Free Dynamic Range (SFDR) using the ‘sfdr’ function from the Signal Processing Toolbox in MATLAB, you'll need to preprocess the signal to remove the bins close to DC before applying the ‘sfdr’ function.
1. Compute the Fast Fourier Transform (FFT) of the signal.
fftSignal = fft(signal); % Perform FFT on the signal
please refer the below documentation for ‘fft’ function: https://in.mathworks.com/help/matlab/ref/fft.html
2. Identify the indices of the FFT bins that correspond to frequencies close to DC that you want to exclude.
3. Set those specific bins to zero to effectively remove their contribution.
fftSignal(exclusionIndices) = 0; % Zero out the bins to be excluded
4. Compute the Inverse FFT (IFFT) to get the time-domain signal with the specified bins removed.
modSignal = ifft(fftSignal, 'symmetric'); % Compute the modified signal by performing an Inverse FFT
Please refer the below documentation for ‘ifft’ function: https://in.mathworks.com/help/matlab/ref/ifft.html
5. Calculate the SFDR using the sfdr function on the modified signal.
sfdrValue = sfdr(modSignal, fs); % Calculate the SFDR using the modified signal
I hope this helps!

카테고리

Help CenterFile Exchange에서 Spectral Measurements에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by