Add gain as argument

legacy
sh123 2022-08-06 19:35:00 +03:00
rodzic f8e617c9ca
commit b9e9c8d2fa
2 zmienionych plików z 6 dodań i 3 usunięć

Wyświetl plik

@ -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>

Wyświetl plik

@ -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);