Generowanie sygnalu danej funkcji w C

woser
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 13 paź 2010, o 08:04
Płeć: Mężczyzna
Lokalizacja: Wrocław

Generowanie sygnalu danej funkcji w C

Post autor: woser »

Mam taka o to funkcje: \(\displaystyle{ |A(sin(wt) + sin(2wt))|}\)
pisze program ktory ma generowac przebieg sygnalu w okreslonym czasie, gdy uzytkownik poda amplitude i czestotliwosc sygnalu, ponizej stworzylem taka funkcje w jezyku C, czy jest ona poprawna dla podanego powyzej wzoru ??

Kod: Zaznacz cały

double sygnal;
       const double pi=3.141592;
       sygnal=amplituda*(sin(czestotliwosc*2*pi*czas_jednostkowy)+ sin(czestotliwosc*4*pi*czas_jednostkowy));
       return abs(sygnal);
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

Generowanie sygnalu danej funkcji w C

Post autor: Zordon »

w jakiej jednostce dana jest częstotliwość? Bo mam wrażenie, że niepotrzbnie domnażasz przez \(\displaystyle{ 2\pi}\)
woser
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 13 paź 2010, o 08:04
Płeć: Mężczyzna
Lokalizacja: Wrocław

Generowanie sygnalu danej funkcji w C

Post autor: woser »

czestotliwosc jest Hz jak na czestotliwosc przystalo. ... 5%9B%C4%87 -- z tego co pamietam z fizyki to jakos tak to wyglada ?

ale w sumie jakos dziwnie ta funkcja pozniej wyglada.... hmmm
Awatar użytkownika
miki999
Użytkownik
Użytkownik
Posty: 8691
Rejestracja: 28 lis 2007, o 18:10
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Podziękował: 36 razy
Pomógł: 1001 razy

Generowanie sygnalu danej funkcji w C

Post autor: miki999 »

Zdaje się, że masz ok.
woser
Użytkownik
Użytkownik
Posty: 5
Rejestracja: 13 paź 2010, o 08:04
Płeć: Mężczyzna
Lokalizacja: Wrocław

Generowanie sygnalu danej funkcji w C

Post autor: woser »

znalazlem blad i dla potomnych wpisze funkcja abs zajmujaca sie zrobieniem wartosci bezwzglednej konwertuje zmienna do liczby calkowitej.... dzieje sie to niejawnie i w dev-c++ nie informuje o tym, do liczb rzeczywistych uzywamy funkcji fabs(double x)....

reszta jest ok.

Mam za to jeszcze 2 kolejne pytania

1. Mam wygenerowac sygnal zaklocen w postaci "szpilek" o podanej przez uzytkownika prawdopodobienstwie wystepowania i amplitudzie. a nastepnie nalozyc go na wczesniejsza funkcje, o ile z nalozeniem sobie poradze, o tyle nie mam pomyslu jak wygenerowac takie zaklocenia ? Moze ktos ma jakis pomysl ???

2. Drugie pytanie dotyczy filtracji poprzez srednia z 6-sciu probek na czym taka filtracja polega bo nie bardzo moge znalezc cos sensownego w internecie?? Znalalzlem informacje ze dla kazdego kroku liczymy srednia z 6 kolejnych i przesuwamy sie o jeden krok itd. ale czy to o to chodzi i to nie zmieni sygnalu ??
ODPOWIEDZ