-
Data: 2010-12-07 00:36:26
Temat: Re: Generacja N-kanałowego dzwięku na 1-bicie.
Od: "Grzegorz Plywacz" <b...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Sebastian Biały" <h...@p...onet.pl> napisał w wiadomości
news:idgrev$ce0$1@news.onet.pl...
> Tak, to nie pomyłka, powrót do ZXSpectrum i PCSpeakera.
>
> Mam do dyzpozycji jeden bit którym mogę sterować blaszką piezo.
>
> Dzieki które dobywam mogą być raczej tylko jednobitowe - włącz/wyłącz.
>
> Czy ktoś może *pamięta* czy istniały jakieś algorytmy mieszania dwóch fali
> prostokątnych o róznych częstotoliwościach aby uzyskac złudzenie dzwieku
> dwukanałowego na tym jednym bicie? Wydaje mi się że produkcje na
> ZXSpectrum potrafiły osiągać coś podobnego. Doskonale sobie zdaje sprawę z
> nikłej jakości dzwieku, nie chodzi o jego podnoszenie (w szczególnosci nie
> chodzi mi np. o filtr + pwm w celu osiągnięcia lepszych rozdzielczości).
> Interesuje mnie jak na 1 bicie zmieszać dwie fale prostokątne w sposób
> przyjemny dla ucha w stopniu w jakim przyjemne sa 2 fale prostokątne.
> Zakładam ze 2 kanaly dadzą radę się przeskalowac na N.
Zaciekawiło mnie ...
To z czym masz do czynienia, to mniej więcej mieszanie dwóch (lub więcej
sygnalow)
na nieliniowym elemencie. W tym przypadku nieliniowośc polega na tym, że
występuje
obcięcie (0 albo 1). O ile generując jedną częstotliwość w wyniku dostaniemy
mniej
więcej to co nadalismy, to już w przypadku dwóch fal o częstotliwościach
odpowiednio
f1 i f2, dostaniemy f1 + f2, f1 - f2 plus cały szereg harmonicznych 2f1 +
f2, etc...
Harmonicznymi bym sie nie przejmowal :) Cała zabawa polega na tym, aby mając
żadane dwie czestotliwości, które mają sie pojawić w widmie, dobrać te,
który
wygenerujemy. Np. chcąc zagrać 440 Hz i 1000 Hz nadamy np 720 i 280 Hz.
Acha i jeszcze jedno, zrobiłem kilka eksperymentów i wychodzi mi, że
najlepiej
wygenerować poszczególne sygnały a potem przed wysłanie do piezo zrobić ich
sumę modulo 2.
Oczywiście w przypadku większej ilości fal sytuacja ma tendencje do
komplikowania
się w tempie geometrycznym :)
A jakby kogoś interesowało, krótki kod w Matlabie dla zobrazowania:
clear all;
fs = 40000; % próbkowanie
len = 5; % 5 sekund
freqs = [720, 280];
T = freqs .^ -1;
s = zeros(len * fs, 1);
for n = 1 : length(s)
t = n/fs;
s(n) = 0;
for i = 1 : length(freqs)
if mod(t, T(i)) < (T(i)/2)
s(n) = not(s(n));
end
end
end
s = s - mean(s);
plot(linspace(0, fs, length(s)), (abs(fft(s))));
--
G.Pływacz
Następne wpisy z tego wątku
- 08.12.10 08:43 slamazar
- 08.12.10 15:18 Kicer
- 08.12.10 15:26 Grzegorz Plywacz
- 08.12.10 15:43 Grzegorz Plywacz
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO