⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gdpower.m

📁 进行时频变换的工具箱
💻 M
字号:
function [x,gpd,nu]=gdpower(N,k,c)%GDPOWER Signal with power-law group delay.%	[X,GPD,F]=GDPOWER(N,K,C) generates a signal with a%	power-law group delay of the form tx(f) = T0 + C*f^(K-1).%	The output signal is of unit energy.%%	N   : number of points in time		(must be even)%	K   : degree of the power-law		(default : 0)%	C   : rate-coefficient of the power-law group delay.  %	      C must be non-zero. 		(default : 1)	%	X   : time row vector containing the modulated signal samples%	GPD : group delay	      (length : round(N/2)-1)%	F   : frequency bins%%	Examples :   %	 sig=gdpower(64,0); tfrbert(sig,1:64,0.01,0.32,256,1);%	 [sig,gpd,f]=gdpower(256,1/2); plot(gpd,f); %%	See also FMPOWER.%	O. Lemoine - April, July 1996%	Copyright (c) 1996 by CNRS (France).%%	------------------- CONFIDENTIAL PROGRAM -------------------- %	This program can not be used without the authorization of its%	author(s). For any comment or bug report, please send e-mail to %	f.auger@ieee.org if (nargin < 1), error ( 'At least one parameter.' );elseif nargin==1, k=0; c=1;elseif nargin==2, c=1;endif (N <= 0), error ('The signal length N must be strictly positive' );end  t0=0;Lnu=round(N/2);nu=linspace(0,0.5,Lnu+1); nu=nu(2:Lnu+1);AM=nu.^((k-2)/6);if c==0, error('C must be non-zero');endt=1:N;TFx=zeros(1,N);if (k<1 & k~=0), d=N^k*c; t0=N/10; TFx(1:Lnu)=exp(-j*2*pi*(t0*(nu)+d*(nu).^k/k)).*AM; x=ifft(TFx).';elseif k==0, d=c; t0=N/10; TFx(1:Lnu)=exp(-j*2*pi*(t0*(nu)+d*log(nu))).*AM; x=ifft(TFx).';elseif k==1, t0=N; x=anapulse(N,t0);elseif (k>1), d=N*2^(k-1)*c;  TFx(1:Lnu)=exp(-j*2*pi*(t0*(nu)+d*(nu).^k/k)).*AM; x=ifft(TFx).';endif k~=1, gpd=t0+abs(sign(c)-1)/2*(N+1)+d*nu.^(k-1);else gpd=t0*ones(1,N/2);endx=x-mean(x);x=x/norm(x);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -