Skip to main content
Bumped by Community user
Bumped by Community user
Bumped by Community user
edited tags
Link
jojeck
  • 11.2k
  • 6
  • 38
  • 75
format, spelling
Source Link
lennon310
  • 3.6k
  • 19
  • 25
  • 27

I'm trying to figure out how to perform N'-band channelizer for SSCA (strip spectral correlation analyzer) via sliding FFT. I understand that I have to take $N$ points of signal in time domain $x(t)$, apply a windowing function and take another $N$ points by shifting the window by $L$ ($L=1$ in my case). Then I apply fourierFourier transform to those points. But how many of those windowed vectors do I need? I tried to follow code in commP25ssca.m but I can't understand steps between the final result (and then can't set proper input values to the mentioned function).

clc
clear all
close all
ef = 0.1;
ef_vz = 1;
Td = 1000;
time = 0:1/ef_vz:Td;
freq = 0:1/Td:ef_vz;
sig = 1*exp(1j*2*pi*ef.*time);
spek = abs(fft(sig));
N = 512;
num_blocks = floor((length(sig)-N) / 1);
x = sig;
counter = 0;
for i = 1:length(x)
    
    k = [i:i+N-1];
    window = x(k);
    if i == 1
        Xk(i,:) = fft(x(k));
    else
        Xk(i,:) = (Xk(i-1,:)-x(i)+x(i+N-1)).*exp((1j*2*pi*(k-1))/N);
    end
    counter = counter + 1;
    if counter == 1
        break
    else
        continue
    end
   
end
p = linspace(0,ef_vz,N);
figure(1)
plot(p,abs(Xk))

I'm trying to figure out how to perform N'-band channelizer for SSCA (strip spectral correlation analyzer) via sliding FFT. I understand that I have to take $N$ points of signal in time domain $x(t)$, apply a windowing function and take another $N$ points by shifting the window by $L$ ($L=1$ in my case). Then I apply fourier transform to those points. But how many of those windowed vectors do I need? I tried to follow code in commP25ssca.m but I can't understand steps between the final result (and then can't set proper input values to the mentioned function).

clc
clear all
close all
ef = 0.1;
ef_vz = 1;
Td = 1000;
time = 0:1/ef_vz:Td;
freq = 0:1/Td:ef_vz;
sig = 1*exp(1j*2*pi*ef.*time);
spek = abs(fft(sig));
N = 512;
num_blocks = floor((length(sig)-N) / 1);
x = sig;
counter = 0;
for i = 1:length(x)
    
    k = [i:i+N-1];
    window = x(k);
    if i == 1
        Xk(i,:) = fft(x(k));
    else
        Xk(i,:) = (Xk(i-1,:)-x(i)+x(i+N-1)).*exp((1j*2*pi*(k-1))/N);
    end
    counter = counter + 1;
    if counter == 1
        break
    else
        continue
    end
   
end
p = linspace(0,ef_vz,N);
figure(1)
plot(p,abs(Xk))

I'm trying to figure out how to perform N'-band channelizer for SSCA (strip spectral correlation analyzer) via sliding FFT. I understand that I have to take $N$ points of signal in time domain $x(t)$, apply a windowing function and take another $N$ points by shifting the window by $L$ ($L=1$ in my case). Then I apply Fourier transform to those points. But how many of those windowed vectors do I need? I tried to follow code in commP25ssca.m but I can't understand steps between the final result (and then can't set proper input values to the mentioned function).

clc
clear all
close all
ef = 0.1;
ef_vz = 1;
Td = 1000;
time = 0:1/ef_vz:Td;
freq = 0:1/Td:ef_vz;
sig = 1*exp(1j*2*pi*ef.*time);
spek = abs(fft(sig));
N = 512;
num_blocks = floor((length(sig)-N) / 1);
x = sig;
counter = 0;
for i = 1:length(x)
    
    k = [i:i+N-1];
    window = x(k);
    if i == 1
        Xk(i,:) = fft(x(k));
    else
        Xk(i,:) = (Xk(i-1,:)-x(i)+x(i+N-1)).*exp((1j*2*pi*(k-1))/N);
    end
    counter = counter + 1;
    if counter == 1
        break
    else
        continue
    end
   
end
p = linspace(0,ef_vz,N);
figure(1)
plot(p,abs(Xk))

I'm trying to figure out how to perform N'-band channelizer for SSCA (strip spectral correlation analyzer) via sliding FFT. I have already understoodunderstand that I have to take N$N$ points of signal in time domain x(t) and$x(t)$, apply a windowing function and take another N$N$ points by shiftshifting the window by L$L$ (L=1$L=1$ in my case). Then I apply fourier transform to those points. But how many of those windowed vectors do I need  ? I tried to follow code in commP25ssca.mcommP25ssca.m but I cantcan't understand steps between the final result (and then can't set proper input values to the mentioned function).

SSCA blog: https://cyclostationary.blog/2016/03/22/csp-estimators-the-strip-spectral-correlation-analyzer/

Documentation for matlab function: https://apps.dtic.mil/sti/pdfs/ADA311555.pdf

My code for simple sliding fft via following this paper: https://www.comm.utoronto.ca/~dimitris/ece431/slidingdft.pdf

clc
clear all
close all
ef = 0.1;
ef_vz = 1;
Td = 1000;
time = 0:1/ef_vz:Td;
freq = 0:1/Td:ef_vz;
sig = 1*exp(1j*2*pi*ef.*time);
spek = abs(fft(sig));
N = 512;
num_blocks = floor((length(sig)-N) / 1);
x = sig;
counter = 0;
for i = 1:length(x)
    
    k = [i:i+N-1];
    window = x(k);
    if i == 1
        Xk(i,:) = fft(x(k));
    else
        Xk(i,:) = (Xk(i-1,:)-x(i)+x(i+N-1)).*exp((1j*2*pi*(k-1))/N);
    end
    counter = counter + 1;
    if counter == 1
        break
    else
        continue
    end
   
end
p = linspace(0,ef_vz,N);
figure(1)
plot(p,abs(Xk))

I'm trying to figure out how to perform N'-band channelizer for SSCA (strip spectral correlation analyzer) via sliding FFT. I have already understood that I have to take N points of signal in time domain x(t) and apply windowing function and take another N points by shift the window by L (L=1 in my case). Then I apply fourier transform to those points. But how many of those windowed vectors I need  ? I tried to follow code in commP25ssca.m but I cant understand steps between the final result (and then can't set proper input values to mentioned function).

SSCA blog: https://cyclostationary.blog/2016/03/22/csp-estimators-the-strip-spectral-correlation-analyzer/

Documentation for matlab function: https://apps.dtic.mil/sti/pdfs/ADA311555.pdf

My code for simple sliding fft via following this paper: https://www.comm.utoronto.ca/~dimitris/ece431/slidingdft.pdf

clc
clear all
close all
ef = 0.1;
ef_vz = 1;
Td = 1000;
time = 0:1/ef_vz:Td;
freq = 0:1/Td:ef_vz;
sig = 1*exp(1j*2*pi*ef.*time);
spek = abs(fft(sig));
N = 512;
num_blocks = floor((length(sig)-N) / 1);
x = sig;
counter = 0;
for i = 1:length(x)
    
    k = [i:i+N-1];
    window = x(k);
    if i == 1
        Xk(i,:) = fft(x(k));
    else
        Xk(i,:) = (Xk(i-1,:)-x(i)+x(i+N-1)).*exp((1j*2*pi*(k-1))/N);
    end
    counter = counter + 1;
    if counter == 1
        break
    else
        continue
    end
   
end
p = linspace(0,ef_vz,N);
figure(1)
plot(p,abs(Xk))

I'm trying to figure out how to perform N'-band channelizer for SSCA (strip spectral correlation analyzer) via sliding FFT. I understand that I have to take $N$ points of signal in time domain $x(t)$, apply a windowing function and take another $N$ points by shifting the window by $L$ ($L=1$ in my case). Then I apply fourier transform to those points. But how many of those windowed vectors do I need? I tried to follow code in commP25ssca.m but I can't understand steps between the final result (and then can't set proper input values to the mentioned function).

clc
clear all
close all
ef = 0.1;
ef_vz = 1;
Td = 1000;
time = 0:1/ef_vz:Td;
freq = 0:1/Td:ef_vz;
sig = 1*exp(1j*2*pi*ef.*time);
spek = abs(fft(sig));
N = 512;
num_blocks = floor((length(sig)-N) / 1);
x = sig;
counter = 0;
for i = 1:length(x)
    
    k = [i:i+N-1];
    window = x(k);
    if i == 1
        Xk(i,:) = fft(x(k));
    else
        Xk(i,:) = (Xk(i-1,:)-x(i)+x(i+N-1)).*exp((1j*2*pi*(k-1))/N);
    end
    counter = counter + 1;
    if counter == 1
        break
    else
        continue
    end
   
end
p = linspace(0,ef_vz,N);
figure(1)
plot(p,abs(Xk))
Bumped by Community user
Source Link
Loading