gausspulse.m

来自「本人编写的一些uwb仿真程序,希望对大家有点用处」· M 代码 · 共 34 行

M
34
字号
% function gausspulse
%产生高斯脉冲
%fc  输出信号抽样频率
%tm  冲激脉冲持续时间
%tau  脉冲形成因子
%w0   输出脉冲波形

function [w0]=gausspulse(fc,tm,tau);

dt=1./fc;
over=floor(tm/dt);  %整个脉冲采样点数

e=mod(over,2);

kbk=floor(over/2);
tmp=linspace(dt,tm/2,kbk);

s=(1-4.*pi.*((tmp./tau).^2)).*exp(-2.*pi.*((tmp./tau).^2));

if e            % over是奇数 odd
    for k=1:length(s)
        y(kbk+1)=1;
        y(kbk+1+k)=s(k);
        y(kbk+1-k)=s(k);
    end
else           %over是偶数  even
    for k=1:length(s)
        y(kbk+k)=s(k);
        y(kbk+1-k)=s(k);
    end
end

e=sum((y.^2).*dt);     %脉冲能量
w0=y./(e^0.5);         %归一化

⌨️ 快捷键说明

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