Primer 16 - Generisanje signala
U vektor signal[] smestiti odbirke signala sa slike. Signal je unipolaran 10 bitni.
Rešenje
#include <math.h>
#include <stdlib.h>
#define DUZINA 30
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);
}
}
int main(void) {
int i;
// Postavim jednosmerne komponente
for (i=10; i<20; i++) {
signal[i]=1024;
}
// Generisem signale rampe
ramp_signal(signal, 0, 10, 1024, 1);
ramp_signal(signal, 20, 10, 1024, -1);
while(1); // mrtva petlja
}