文档介绍:Matlab 傅立叶变换、余弦变换和小波变换 Matlab 实现 Matlab 函数 fft、 fft2 和 fftn 分别可以实现一维、二维和 N维 DFT 算法;而函数 ifft、 ifft2 和 ifftn 则用来计算反 DFT 。这些函数的调用格式如下: A= fft(X,N,DIM) 其中,X表示输入图像;N表示采样间隔点,如果 X小于该数值,那么 Matlab 将会对 X进行零填充,否则将进行截取,使之长度为 N; DIM 表示要进行离散傅立叶变换。 A= fft2(X,MROWS,NCOLS) 其中, MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。别可以实现一维、二维和 N维 DFT A= fftn(X,SIZE) 其中, SIZE 是一个向量,它们每一个元素都将指定 X 相应维进行零填充后的长度。函数 ifft、 ifft2 和 ifftn 的调用格式于对应的离散傅立叶变换函数一致。别可以实现一维、二维和 N维 DFT 例子:图像的二维傅立叶频谱 Matlab 实现%读入原始图像 I= imread(''); imshow(I) %求离散傅立叶频谱 J=fftshift(fft2(I)); figure; 别可以实现一维、二维和 N维 DFT imshow(log(abs(J)),[8,10]) Matlab 实现 . dct2 函数功能:二维 DCT 变换 Matlab 格式: B=dct2(A) B=dct2(A,m,n) B=dct2(A,[m,n]) 函数 fft、 fft2 和 fftn 分说明: B= dct2(A) 计算 A的 DCT 变换 B,A与B 的大小相同; B= dct2(A,m,n) 和 B=dct2(A,[m,n]) 通过对 A补0 或剪裁,使 B 的大小为 m×n。 . dict2 函数功能: DCT 反变换格式: B=idct2(A) B=idct2(A,m,n) 别可以实现一维、二维和 N维 DFT B=idct2(A,[m,n]) 说明: B= idct2(A) 计算 A的 DCT 反变换 B, A与 B 的大小相同; B= idct2(A,m,n) 和 B=idct2(A,[m,n]) 通过对 A补 0 或剪裁,使 B 的大小为 m×n。 Matlab . dctmtx 函数功能:计算 DCT 变换矩阵格式: D= dctmtx(n) 说明: D= dctmtx(n) 返回一个 n×n的 DCT 变换矩阵, 输出矩阵 D为 double 类型。 Matlab 实现函数 一维小波变换的 Matlab 实现(1) dwt 函数 Matlab 功能:一维离散小波变换格式: [cA,cD]=dwt(X,'wname') [cA,cD]=dwt(X,Lo_D,Hi_D) 别可以实现一维、二维和 N维 DFT 说明: [cA,cD]=dwt(X,'wname') 使用指定的小波基函数'wname' 对信号 X进行分解, cA 、 cD 分别为近似分量和细节分量; [cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D 、 Hi_D 对信号进行