我想修改產生方波的方法用脈衝產生方波
它可以產生8個不同脈衝寬度,每個週期0.3ms延遲。我已經看到,sampleBuffer負責生成脈衝信號,但我不確定如何爲這種特定模式創建脈衝函數。請您告訴我AudioTrack.h中是否有庫函數用於生成脈衝?下面
的是我
碼產生方波
void generateSquare(SInt16 *sampleBuffer, int numFrames, float sampleRate, float frequency, float amp) {
if(amp>1) amp=1;
if(amp<0) amp=0;
amp = amp*SHRT_MAX;
float samplesPerCycle = sampleRate/frequency;
for(int i = 0; i < numFrames; i++) {
if(fmodf(squareIndex, samplesPerCycle)/samplesPerCycle > 0.5) {
sampleBuffer[i] = amp;
} else {
sampleBuffer[i] = -1*amp;
}
squareIndex = squareIndex+1;
if(squareIndex >= samplesPerCycle) squareIndex-=samplesPerCycle;
}
}
沒有正文答案? –
沒有身體? ? ? ? –