matlab实现2DDHT
时间: 2023-11-13 20:54:23 浏览: 26
2DDHT是二维离散哈达玛变换,可以通过以下代码实现:
```matlab
function Y = dht2(X)
% X: input matrix
% Y: output matrix after 2DDHT
[m,n] = size(X);
Y = zeros(m,n);
for i = 1:m
Y(i,:) = dht(X(i,:));
end
for j = 1:n
Y(:,j) = dht(Y(:,j)');
end
end
function Y = dht(X)
X: input vector
% Y: output vector after DHT
n = length(X);
Y = X;
for k = 1:n
Y(k) = 0;
for j = 1:n
Y(k) = Y(k) + (-1)^(j+k) * X(j);
end
end
end
```
其中,dht函数是一维离散哈达玛变换的实现。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)