二维低通滤波器

信息处理 matlab 低通滤波器 二维
2022-02-04 02:26:11

我有一个 1536x128 的超声波信号。我首先在 x 和 t 中将信号下采样 2x2 倍,然后用零对丢失的数据进行上采样,然后执行 fft、fftshift 和另一个 fft 以获得二维频谱。由于上采样,我对原始数据有很多副本,我需要实现一个低通滤波器来仅提取原始数据,但是信号有点奇怪,因为副本太接近原始信号。你能帮忙我实现了一个能够提取原始数据的低通滤波器?请参阅附件图片以获取更清晰的详细信息。谢谢!

%-- 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,:);  

在此处输入图像描述

第一张图是原始光谱,第二张是我上采样后得到的全光谱,第三张是第二张图中相同光谱的上半部分。我正在尝试提取看起来像第一张图像的信号。谢谢!

0个回答
没有发现任何回复~