Primer 13 - Generisanje signala

U vektor signal[] smestiti odbirke signala sa slike. Bafer je dužine 40 odbiraka, a signal je 10 bitni bipolarni.

Rešenje

#include <math.h>
#include <stdlib.h>

#define DUZINA 40 

int signal[DUZINA];  

/*
 * Signal rampe - slicna funkcija kao u PDSPlib biblioteci
 *   smer = -1 - rampa opadajuca
 *   smer = 1 - rampa rastuca
 */
void ramp_signal(int signal[], int start, int duzina, int amplituda, int smer) {
    int i;
    float delta, tmp;

    delta = (float)amplituda/(float)duzina;

    if (smer==1) tmp = 0;
    else tmp = amplituda;

    for (i=start; i<start+duzina; i++) {
        signal[i] = (int)tmp;
        tmp += (delta*smer);
    }
}

void dodajDC(int buf[], int duz, int dc) {
    int i;

    for (i=0; i<duz; i++) {
        buf[i] += dc;
    }
}

int main(void) {
    int i;

    // Postavim jednosmerne komponente
    for (i=0; i<10; i++) {
        signal[10+i]=512;
        signal[30+i]=512;
    }
    // Generisem signale rampe
    ramp_signal(signal,  0, 10, 1024, 1);
    ramp_signal(signal, 20, 10, 1024, 1);
    // Spustim signal ispod x ose
    dodajDC(signal, DUZINA, -512);

    while(1);  // mrtva petlja
}

results matching ""

    No results matching ""