2D离散傅里叶变换基函数可视化

该博客展示了两种不同的傅里叶基函数可视化方法,通过Matlab代码生成图像。第一种方法使用子图展示不同傅里叶基函数在二维网格上的分布,第二种方法通过指数函数计算每个单元格的复数值并用图像显示。博客还提供了相关计算公式,有助于理解傅里叶变换的原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


% 用图像绘制:
figure(1);
M = 16;%图片的宽度
N = 16;%图片的高度
A = zeros(M,N);

for k = 0:M
    for l = 0:N
            for x = 1:M
                for y = 1:N
                  subplot(M,N,(k*(N)+l+1)); %画子图
                  A(x,y) = cos(2*pi*k*x/M + 2*pi*l*y/N) + sin(2*pi*k*x/M + 2*pi*l*y/N);%求第(k,l)个傅里叶基函数在(x,y)处的值。为可视化虚部也看做实数
                end
            end
            fprintf('%d',k)
            fprintf('%d\n',l)
            colormap('Cool');%选择色调,这里为Cool
            imagesc(A); % 由A(x,y)的值确定颜色
            %set(gca,'xaxislocation','top');  % 把x轴换到上方
            set(gca,'ydir','reverse');       % 把y轴刻度倒置
            title( {['B(', num2str(k), ',',num2str(l),')']})
    end
end





另一种可视化

N = 4;
h = zeros(N,N);
figure(1);
for u = 1:N
    for v = 1:N
        for x = 1:N
            for y = 1:N
                I(x,y) = exp(j*2*pi*((u-1)*(x-1)+(v-1)*(y-1))/N);
            end
        end
        
        subplot(N,N,v+N*(u-1)),imshow(I);title(['u=',num2str(u-1),' v=',num2str(v-1)]);
    end
end

原理以及参考文献

根据如下公式进行计算即可

 

https://wenku.baidu.com/view/a8f7916f793e0912a21614791711cc7931b778b8.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alocus_

如果我的内容帮助到你,打赏我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值