📄 fmpoints.m
字号:
function points=FMPoints(len, freq, fmFreq, fmAmp, fs)% points=FMPoints(len, freq, fmFreq, fmAmp, fs)% Generates (fractional) sample locations for frequency-modulated impulses% len = number of samples% freq = pitch frequency (Hz)% fmFreq = vibrato frequency (Hz) (defaults to 6 Hz)% fmAmp = max change in pitch (defaults to 5% of freq)% fs = sample frequency (defaults to 22254.545454 samples/s)%% Basic formula: phase angle = 2*pi*freq*t + (fmAmp/fmFreq)*sin(2*pi*fmFreq*t)% k-th zero crossing approximately at sample number% (fs/freq)*(k - (fmAmp/(2*pi*fmFreq))*sin(2*pi*k*(fmFreq/freq)))% (c) 1998 Interval Research Corporation if nargin<2, fprintf('Format: sig=fmPoints(len, freq [, fmAmp, fmFreq, sampleRate])\n'); return; end;if nargin<5, fs=22254.545454; end;if nargin<4, fmAmp=0.05*freq; end;if nargin<3, fmFreq=6;end;kmax=fix(freq*(len/fs));points=0:kmax-1;points=1+(fs/freq)*(points-(fmAmp/(2*pi*fmFreq))* ...sin(2*pi*(fmFreq/freq)*points));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -