kopia lustrzana https://github.com/rs1729/RS
FM gain
rodzic
aac3e421d3
commit
9df07b199b
|
@ -365,13 +365,13 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
case DEMOD:
|
case DEMOD:
|
||||||
z0 = 0;
|
z0 = 0;
|
||||||
gain = 2.0/PI;
|
gain = 1.0;
|
||||||
while ( read_csample(fp, &z) != EOF ) {
|
while ( read_csample(fp, &z) != EOF ) {
|
||||||
w = z * conj(z0);
|
w = z * conj(z0);
|
||||||
switch ( phi ) { // phi'-Algo
|
switch ( phi ) { // phi'-Algo
|
||||||
case 1: fm = carg(w); break; // = atan2( cimag(w) , creal(w) );
|
case 1: fm = carg(w)/PI; break; // = atan2( cimag(w) , creal(w) )/PI \in [-1,1];
|
||||||
case 2: fm = cimag(w) / (cabs(z0)*cabs(z0)); break;
|
case 2: fm = cimag(w) / (cabs(z0)*cabs(z0)); break; // for small angles ... gain?
|
||||||
} //fm3 = cimag(w); // FM: |z|=const
|
} //fm3 = cimag(w); // FM: |z|=const
|
||||||
write_sample(fout, fm*gain);
|
write_sample(fout, fm*gain);
|
||||||
z0 = z;
|
z0 = z;
|
||||||
sample++;
|
sample++;
|
||||||
|
|
|
@ -258,15 +258,15 @@ int read_signed_sample(FILE *fp, double *s) { // int = i32_t
|
||||||
double x=0, x0=0;
|
double x=0, x0=0;
|
||||||
double complex z, w;
|
double complex z, w;
|
||||||
static double complex z0;
|
static double complex z0;
|
||||||
double gain = 2.0/M_PI;
|
double gain = 1.0;
|
||||||
|
|
||||||
if (option_iq) {
|
if (option_iq) {
|
||||||
if ( read_csample(fp, &z) == EOF ) return EOF;
|
if ( read_csample(fp, &z) == EOF ) return EOF;
|
||||||
double t = (double)(sample_count) / sample_rate;
|
double t = (double)(sample_count) / sample_rate;
|
||||||
z *= cexp(-t*2*M_PI*df*I);
|
z *= cexp(-t*2*M_PI*df*I);
|
||||||
w = z * conj(z0);
|
w = z * conj(z0);
|
||||||
x = gain * carg(w); // d1
|
x = gain * carg(w)/M_PI; // d1
|
||||||
//x = cimag(w) / (cabs(z0)*cabs(z0)); // d2
|
//x = _gain * cimag(w) / (cabs(z0)*cabs(z0)); // for small angles ... d2
|
||||||
z0 = z;
|
z0 = z;
|
||||||
iqbuf[sample_count % N_IQBUF] = z;
|
iqbuf[sample_count % N_IQBUF] = z;
|
||||||
|
|
||||||
|
@ -368,7 +368,7 @@ int read_rawbit(FILE *fp, int *bit) {
|
||||||
|
|
||||||
if (option_iq >= 2) {
|
if (option_iq >= 2) {
|
||||||
|
|
||||||
double h = 1.0; // modulation index, GFSK
|
double h = 1.0; // modulation index, GFSK; h(rs41)=0.8?
|
||||||
double complex z = 0;
|
double complex z = 0;
|
||||||
double complex X1 = 0;
|
double complex X1 = 0;
|
||||||
double complex X2 = 0;
|
double complex X2 = 0;
|
||||||
|
|
Ładowanie…
Reference in New Issue