kopia lustrzana https://github.com/sh123/codec2_talkie
Add gain as argument
rodzic
f8e617c9ca
commit
b9e9c8d2fa
|
@ -302,5 +302,5 @@
|
|||
<string name="ports_type_title">TNC transport type</string>
|
||||
<string name="ports_sound_modem_disable_rx_title">Disable receive</string>
|
||||
<string name="ports_sound_modem_disable_rx_summary">Run modem in transmit only mode, receive is disabled to save CPU cycles</string>
|
||||
<string name="ports_sound_modem_rig_title">Select radio model to control</string>
|
||||
<string name="ports_sound_modem_rig_title">Select RIG model for CAT PTT control</string>
|
||||
</resources>
|
|
@ -25,6 +25,7 @@ namespace Java_com_ustadmobile_codec2_Codec2 {
|
|||
int Nbits;
|
||||
int N;
|
||||
int Ts;
|
||||
int gain;
|
||||
};
|
||||
|
||||
static Context *getContext(jlong jp) {
|
||||
|
@ -74,6 +75,8 @@ namespace Java_com_ustadmobile_codec2_Codec2 {
|
|||
conFsk->demodBits = (uint8_t*)malloc(sizeof(uint8_t) * fsk->Nbits);
|
||||
conFsk->demodBuf = (int16_t*)malloc(sizeof(short) * (fsk->N + 2 * fsk->Ts));
|
||||
|
||||
conFsk->gain = 10 * FDMDV_SCALE;
|
||||
|
||||
fsk_set_freq_est_limits(fsk, 500, sampleFrequency / 4);
|
||||
fsk_set_freq_est_alg(fsk, 0);
|
||||
|
||||
|
@ -168,7 +171,7 @@ namespace Java_com_ustadmobile_codec2_Codec2 {
|
|||
fsk_mod(conFsk->fsk, conFsk->modBuf, conFsk->modBits, inputBitsSize);
|
||||
jshort *jOutBuf = env->GetShortArrayElements(outputSamples, nullptr);
|
||||
for (int i = 0; i < conFsk->N; i++) {
|
||||
jOutBuf[i] = (int16_t)(conFsk->modBuf[i] * FDMDV_SCALE);
|
||||
jOutBuf[i] = (int16_t)(conFsk->modBuf[i] * conFsk->gain);
|
||||
}
|
||||
env->ReleaseShortArrayElements(outputSamples, jOutBuf, 0);
|
||||
return 0;
|
||||
|
@ -186,7 +189,7 @@ namespace Java_com_ustadmobile_codec2_Codec2 {
|
|||
ContextFsk *conFsk = getContextFsk(n);
|
||||
env->GetShortArrayRegion(inputSamples, 0, conFsk->N, reinterpret_cast<jshort*>(conFsk->demodBuf));
|
||||
for(int i = 0; i < fsk_nin(conFsk->fsk); i++){
|
||||
conFsk->demodCBuf[i].real = ((float)conFsk->demodBuf[i]) / FDMDV_SCALE;
|
||||
conFsk->demodCBuf[i].real = ((float)conFsk->demodBuf[i]) / conFsk->gain;
|
||||
conFsk->demodCBuf[i].imag = 0.0;
|
||||
}
|
||||
fsk_demod(conFsk->fsk, conFsk->demodBits, conFsk->demodCBuf);
|
||||
|
|
Ładowanie…
Reference in New Issue