I have an ultrasound signal that is 1536x128. I first downsample the signal by a factor of 2x2 in x and t, then I upsample the missing data with zeros, then I do an fft, fftshift, then another fft to get the 2-D frequency spectrum. Due to the upsampling, I got many replicas to my original data, and I need to implement a low pass filter to extract the original data only, but the signal is kinda weird as the replicas are too close to the original signal.Can you help me implement a low pass filter capable of extracting the original data? Please see attached images for clearer details. Thanks!
%-- subsample original data Sx = 2; %-- subsampling factor for original x-axis St = 2; %-- subsampling factor for original t-axis NtFFT = 4096; %-- frequency points NxFFT = 256; Nt = 1536; Nx = 128; Signal_sampled = Signal(1:St:end,1:Sx:end); %-- upsample subsampled data if St > 1 Du = zeros(Nt,size(Signal_sampled,2)); js = 1; for ju = 1:St:Nt Du(ju,:) = Signal_sampled(js,:); js = js + 1; end Signal_sampled = Du; end if Sx > 1 Du = zeros(size(Signal_sampled,1),Nx); js = 1; for ju = 1:Sx:Nx Du(:,ju) = Signal_sampled(:,js); js = js + 1; end Signal_sampled = Du; end Signal_sampled_fft = fft(Signal_sampled,NxFFT,2); Signal_sampled_fft = fftshift(Signal_sampled_fft,2); Signal_sampled_fft2 = fft(Signal_sampled_fft,NtFFT,1); Signal_sampled_fft2 = Signal_sampled_ftt2(1:NtFFT/2,:);
The first image is the original spectrum, and the second is the full spectrum I got after upsampling, and the third is the upper half of the same spectrum in the 2nd image. I am trying to extract the signal that looks like the first image. Thanks!