让我们考虑一下Page:
http://djj.ee.ntu.edu.tw/S_Transform.pdf
第2.3段离散S变换
假设我们有信号x的采样版本,并且给定采样频率fs,我使用以下代码计算离散傅立叶变换
function y=DFT(x);
N=length(x);
D=zeros(N,N);
for k=1:N
for n=1: N
D(k,n)=exp((-j*(k-1)*2*pi*(n-1))/N);
end
end
y=D*x'/N;
end
并开始估计离散S变换
function [S]=discrete_s_transform(x,fs);
%compute discrete s transform
%fs-sampling frequency
N=length(x); % length of signal
T=1/fs; % sampling period
Y=DFT(X);
我怎么能继续与这部分相关?
显然循环不是实现的问题,只是它们从1变为N而不是0到N-1,因为matlab向量是基于1的,但是主代码怎么样?乘以指数?请你帮我完成S变换吗?
答案 0 :(得分:0)
您的总和仅取决于 m ,所以我假设定义了其他参数以及函数H((m+n)/(NT))
。通过for循环,最简单的是:
function [S]=discrete_s_transform(x);
N=length(x); % length of signal
S=0;
m=0;
for i=1:N
S=S+H((m+n)/(NT))*exp(a)*exp(b*m/N);
m=m+1;
end
希望有所帮助!