Moderator: Redaktörer
Svante skrev:IngOehman skrev:Och vad du menar med att man får någon meningsfull information (amplitud men inte fas) om frek-
vensen F = Fs/2 förstår jag inte. Det får man ju inte. Om samplen hamnar i nollgenomgången så
blir ju sampelvärdena noll. Om nollgenomgångarna inte sammanfaller med samplingsögonblicken
så får man förvisso kodad signal, men kan inte veta hur stor den är i förhållande till insignalens
verkliga amplitud.
Kort sagt - Fin < Fs/2 är ett krav.
Nja, i den här tråden är det jag som sätter villkoren.
Den handlar om hur stor en topp kan bli om man tillåter vilken digital signal som helst. En av alla tänkbara signaler är den som jag har använt. Den innehåller dock väldigt mycket av fs/2 och det är tillåtet, givet trådens fråga. Här handlar det om DA-omvandling, inte AD-omvandling.
Det du säger i det första citerade stycket är därmed off-topic, men alldeles riktigt, och det är därför man brukar säga att en signal ska vara strikt bandbegränsad (f<fs/2) när innan man samplar den, men här handlar det ju inte alls om sampling. Det handlar om rekonstruktion. Eller snarare hur illa det kan bli som värst när man DA-omvandlar.
Jag har försökt hitta en teoretisk maxgräns, men det visar sig att den inte finns. Och det som återstår är att maximal topphöjd i verkliga DA-omvandlare beror av hur rekonstruktionsfiltret har implementerats och att det inte finns någon överstyrningsmarginal som är garanterat säker. Detta talar ännu mer för att DAC-tillverkarna borde implementera överstyrningsmarginal i DACarna; de är ju de enda som vet hur mycket som behövs.
idea skrev:Svante skrev:Nja, i den här tråden är det jag som sätter villkoren.
Den handlar om hur stor en topp kan bli om man tillåter vilken digital signal som helst. En av alla tänkbara signaler är den som jag har använt. Den innehåller dock väldigt mycket av fs/2 och det är tillåtet, givet trådens fråga. Här handlar det om DA-omvandling, inte AD-omvandling.
Det du säger i det första citerade stycket är därmed off-topic, men alldeles riktigt, och det är därför man brukar säga att en signal ska vara strikt bandbegränsad (f<fs/2) när innan man samplar den, men här handlar det ju inte alls om sampling. Det handlar om rekonstruktion. Eller snarare hur illa det kan bli som värst när man DA-omvandlar.
Jag har försökt hitta en teoretisk maxgräns, men det visar sig att den inte finns. Och det som återstår är att maximal topphöjd i verkliga DA-omvandlare beror av hur rekonstruktionsfiltret har implementerats och att det inte finns någon överstyrningsmarginal som är garanterat säker. Detta talar ännu mer för att DAC-tillverkarna borde implementera överstyrningsmarginal i DACarna; de är ju de enda som vet hur mycket som behövs.
Det är möjligt att du tror att det är du som sätter villkoren men det går inte att bryta naturlagarna. Det du avhandlar är inte en digital representation av en analog signal utan något annat, okänt vad det är eftersom det inte har någon fysikalisk representation. Därmed går det inte att omvandla denna signal till den analoga domänen och påstå att toppvärdet ökat eftersom signalen inte har någon sådan representation.
Samplingsteoremet avhandlar enbart frekvensplanet det finns inget teorem som gäller på samma sätt i "nivåplanet".
Därför är ju din utredning mycket intressant om hur fullt utstyrda digitala signaler ger överslängar vid DA- omvandling som behöver hanteras av DA-omvandlaren.
idea skrev:Jo men det är ju där du tänker fel. Det gäller bara för signaler < fs/2. Du kan komma oändligt nära men bara om du samplar oändligt länge så hur du än gör så finns inte fs/2 i den digitala domänen.
idea skrev:Öhh, i diskreta fouriertransformen så ser du aldrig frekvenserna dessa får du hålla reda på själv och axeln går bara till (fs/2-df där df=1/T). Eller mer formellt speglas signalen i n*fs/2 punkterna.
Svante skrev:idea skrev:Öhh, i diskreta fouriertransformen så ser du aldrig frekvenserna dessa får du hålla reda på själv och axeln går bara till (fs/2-df där df=1/T). Eller mer formellt speglas signalen i n*fs/2 punkterna.
Jodå, fs/2 finns visst.
Titta här (Matlab):
>> p=[ 1 -1 1 -1 1 -1 1 -1]
p =
1 -1 1 -1 1 -1 1 -1
>> fft(p)
ans =
0 0 0 0 8 0 0 0
8 :an representerar fs/2.
Siffrorna representerar 0*fs/8, 1*fs/8 ,2*fs/8, 3*fs/8, 4*fs/8, 5*fs/8, 6*fs/8, 7*fs/8
5*fs/8 är en spegling (komplexkonjugatet) av 3*fs/8
6*fs/8 är en spegling (komplexkonjugatet) av 2*fs/8
7*fs/8 är en spegling (komplexkonjugatet) av 1*fs/8
(...om indata är rellt)
Men 4*fs/8=fs/2 är en alldeles egen frekvens som finns. Endast realdelen av den är intressant, imaginärdelen blir noll om indata är reellt. Precis samma sak gäller för första elementet (DC), även där blir imaginärdelen noll om indata är reellt, men realdelen talar om hur mycket DC det finns i signalen.
Och man kan ju bara tänka på signalen 1 -1 1 -1 1 -1 1 -1, är det inte uppenbart att den innehåller frekvensen fs/2?
IngOehman skrev:Om du anser att den innehålls i koden under vissa omständigheter må vara hänt, men den får inte innehållas. Det är poängen. Den får inte finnas vid samplingen, och rekonstruktionen får inte skapa den. Det kan man åstadkomma på det sätt jag beskrev tidigare - man väljer en sinc där sincens brickwallfrekvens ligger så många Hz under Fs/2 att periodtiden för frekvensskillnaden är liten i förhållande till den tid som
använd "sinc" är representerad, tror jag att jag skrev, ungefär.

idea skrev:Lite märkligt att man måste tala om för en universitetslektor att fysiken inte gäller om man går utanför definitionen av matematiken. Definitionen av fouriertransformen är att den endast är giltig vid frekvenser < fs/2. Att du får ett svar som du tolkar är giltigt där är ju en helt annan sak men tolkningen är fel.
Överslängarna vid DA-omvandlingen är ju också en konsekvens av samplingen och att man inte tänker på hur analoga signaler representeras i det digitala planet.
Begrunda följande figur av en sinussignal:
<bild borttagen>
( http://bilder.idea53.se/#!album-2-1 jag ser inte bilden vid förhandsgranskning så jag provar även denna väg)
Om man samplar vid de röda tidpunkterna får man en digital representation med värden {0, 0.85, 0.85, 0, -0.85, -0.85, 0}. Om man i det digitala planet höjer nivån till +-1 maximalt så kommer den analoga representationen att bli c:a +-1.2 maximalt. Om inte DA-omvandlaren kan hantera detta blir den överstyrd. Om man kommer längre ut på flankerna vid samplingen så kommer maximala analoga nivån att stiga om man förstärker digitalt och ju närmre nollgenomgångarna desto högre nivå. Teoretisk borde det då gå att konstruera en digitalt förstärkt signal som går mot oändlig analog nivå när vi kommer oändligt nära fs/2.
Detta är ju grundläggande signalteori och det är intressant att inte fler ser hur detta påverkar kretskonstruktionen. Iofs behandlar samplingsteoremet ju bara att en godtycklig signal entydigt kan återskapas vid givna förutsättningar. Den avhandlar ju inte vad som händer om man förändrar den digitala representationen av signalen. Det får man ju klura ut själv vilket flertalet DA-omvandlartillverkare tydligen inte gjort. Fast till dess försvar så får man väl tänka på att tokmaximering inte finns nämnt i någon signalteorikurs.
Hjälpte till med bilden. /Bosse
idea skrev:Slog mig att detta borde innebära att ju högre samplingsfrekvens desto högre teoretisk analog nivå går att få. Visserligen vid ohörbara frekvenser, om vi pratar över 44 kHz sampling, men en överstyrd DAC klipper ju alla frekvenser.
Svante skrev:Hmm, lite konstigt inlägg tycker jag. Vad har mitt yrke med det hela att göra? Först säger du att jag inte har förstått, sedan skriver du ungefär det som jag har hävdat sedan sidan 1.
Utom det där med definitionen av Fouriertransformen. Fysik har inte med det hela att göra, detta är helt och hållet matematik/signalbehandling. Du säger axiomatiskt att Fouriertransformen inte är giltig för frekvensen fs/2. Det får du nog visa om jag ska tro på dig. Jag säger att man kan få reda på cosinuskomponenten (realdelen), men inte sinuskomponenten (imaginärdelen) vid fs/2. Har jag fel i det?
Att man sedan av bekvämlighetsskäl brukar ange f<fs/2 som villkor eftersom man oftast behöver både sin- och cosdelen är en annan sak.
När jag tänker närmare efter så är det nog snarare Fourierserier än Fouriertransformen som det är relevant att titta på här. Om jag ska beskriva en sekvens av 8 sampel med en fourierserie behöver Fourierkomponenterna ha 8 frihetsgrader. Det finns en cosinusterm vid DC, en cosinusterm vid fs/2 och tre sinus- och cosinustermer vid 1*fs/8, 2*fs/8 och 3*fs/8.
Och sekvensen 1 -1 1 -1 1 -1 1 -1 kan beskrivas som Fourierserie med
0*cos(0*pi/8*n)
+0*cos(1*pi/8*n)+0*sin(1*pi/8*n)
+0*cos(2*pi/8*n)+0*sin(2*pi/8*n)
+0*cos(3*pi/8*n)+0*sin(3*pi/8*n)
+1*cos(4*pi/8*n)
dvs 8 frihetsgrader. På vilket sätt är det en felaktig tolkning? Det som kommer ur en FFT är fullständigt entydigt, det är väl först när man tolkar det som att cosinuskomponenten vid fs/2 inte är giltig som det blir fel.
Resten av det du skriver tror jag att jag instämmer i och jag undrar lite varför du mer eller mindre upprepar det jag har skrivit, på ett sätt som åtminstone jag tolkar som att du försöker motsäga mig med det.

Svante skrev:idea skrev:Slog mig att detta borde innebära att ju högre samplingsfrekvens desto högre teoretisk analog nivå går att få. Visserligen vid ohörbara frekvenser, om vi pratar över 44 kHz sampling, men en överstyrd DAC klipper ju alla frekvenser.
Nej, det måste vara ett missförstånd. Ökar man samplingsfrekvensen skalar allt om i tidsled, men i amplitudled blir det samma.
Edit: Eller menar du att signalen skulle behålla sin frekvens?
idea skrev:Om vi tittar på definitionen av Diskreta Fouriertransformen så lyder denna enligt mina gamla textböcker;
Notera att definitionen inkluderar bara upp till steg N-1 (dvs fs/2 är inte inkluderat, även om detta inte står explicit så följer det av tidigare definitioner - samplingsteoremet).
Det var visserligen närmare 40 år sedan jag läste dessa ämnen men jag har inte sett att grunddefinitionerna ändrats sedan dess. Det som förvånar mig är att de tydligen glömts bort i en tid när de ständigt tillämpas i vår vardag.
Nyquist-Shannons samplingsteorem, även kallad Nyquistteoremet, Shannonteoremet eller samplingsteoremet, talar om med vilken frekvens man måste mäta en vågrörelse med hjälp av sampling för att kunna återskapa signalen. Teoremet går i grova drag ut på att man måste, för att undvika fel, sampla med en frekvens som är minst dubbla signalens bandbredd annars blir resultatet av mätningen lägre än signalens verkliga frekvens.
The theorem does not preclude the possibility of perfect reconstruction under special circumstances that do not satisfy the sample-rate criterion. (See Sampling of non-baseband signals below, and Compressed sensing.)
Sampling is the process of converting a signal (for example, a function of continuous time or space) into a numeric sequence (a function of discrete time or space). Shannon's version of the theorem states:
If a function x(t) contains no frequencies higher than B hertz, it is completely determined by giving its ordinates at a series of points spaced 1/(2B) seconds apart.
A sufficient sample-rate is therefore 2B samples/second, or anything larger. Conversely, for a given sample-rate fs, the bandlimit for perfect reconstruction is B<fs/2.

idea skrev:Svante skrev:idea skrev:Slog mig att detta borde innebära att ju högre samplingsfrekvens desto högre teoretisk analog nivå går att få. Visserligen vid ohörbara frekvenser, om vi pratar över 44 kHz sampling, men en överstyrd DAC klipper ju alla frekvenser.
Nej, det måste vara ett missförstånd. Ökar man samplingsfrekvensen skalar allt om i tidsled, men i amplitudled blir det samma.
Edit: Eller menar du att signalen skulle behålla sin frekvens?
Blev lite grumligt där, var en snabb tanke att om med minskad dT (ökad samplingsfrekvens) får vi ökat 1/dT och ju närmre fs/2 vi kommer desto större "tokmaximerad" sinus kan vi teoretiskt skapa. Därför borde en DA med högre samplingshastighet kunna ge högre analog utsignal baserat på detta (rent teoretiskt).
Ju högre samplingshastighet desto högre derivata kan vi återge och med den högre "översläng".
lilltroll skrev:Som alternativ till serien 0->N-1 för DFT:n som visades ovan finns
[-½N, ½N-1] för jämn DFT längd
[-½(N-1), ½(N-1)] för udda DFT längd
i MATLAB kan man använda fftshift(X) resp. ifftshift(X) för att shifta till sådan form.
Har man exempelvis 8 samples i tidsdomänen fås även 8 punkter efter utförd DFT, och med fftshift(fft(x))
så motsvarar arrayens första tal frekvensen -½fs.
"fftshift is useful for visualizing the Fourier transform with the zero-frequency component in the middle of the spectrum"
Exempel:
>> fftshift(fft([1 -1 1 -1 1 -1 1 -1]))
ans =
8 0 0 0 0 0 0 0
Tolkning: Signalen har (endast) energi vid frekvensen fs/2 (== -fs/2)
EDIT:
Klistrar in ett bevis angående periodiciteten hos DFT för att styrka ovan:
idea skrev:Svante skrev:idea skrev:Slog mig att detta borde innebära att ju högre samplingsfrekvens desto högre teoretisk analog nivå går att få. Visserligen vid ohörbara frekvenser, om vi pratar över 44 kHz sampling, men en överstyrd DAC klipper ju alla frekvenser.
Nej, det måste vara ett missförstånd. Ökar man samplingsfrekvensen skalar allt om i tidsled, men i amplitudled blir det samma.
Edit: Eller menar du att signalen skulle behålla sin frekvens?
Blev lite grumligt där, var en snabb tanke att om med minskad dT (ökad samplingsfrekvens) får vi ökat 1/dT och ju närmre fs/2 vi kommer desto större "tokmaximerad" sinus kan vi teoretiskt skapa. Därför borde en DA med högre samplingshastighet kunna ge högre analog utsignal baserat på detta (rent teoretiskt).
Ju högre samplingshastighet desto högre derivata kan vi återge och med den högre "översläng".
Svante skrev:Intressant också med DFT med udda antal sampel, då kan ju faktiskt inte fs/2 representeras.
lilltroll skrev:Svante skrev:Talsekvensen ... 1 0 1 0 1 0 1 0 1 0 1 0 ...
Kan beskrivas som en serien [1 0] med oändlig periodicitet
och dess
DFT = [1 1]
dvs den har en DC komponent och en AC komponent vid ½fs och båda har amplituden 1/(N) = ½
Svante skrev:Haha, ja det där måste ju vara den minsta möjliga meningsfulla Fouriertransformen... Fourierserien blir x(n)=1*cos(0*pi*n)+1*cos(1*pi*n)
IngOehman skrev:Det framgår inte vad som är Lilltrolls insats i ditt förra citat, eller varför han är med trots att det
inget finns något han skrivit med i det, eller gör det det?
IngOehman skrev:----------------------------------------------------------------------------------------------------------------
Vill nog envisas med att fortfarande hävda att det är fel att påstå att F = Fs/2 kan representeras.
Den kan VARKEN representeras entydigt med avseende på fas eller amplitud. Tycks det inte finnas
signal så kan det bero på att samplena hamnat i nollgenomgången, men eftersom man inte kan ut-
gå ifrån att det finns signal så vet man inte att man träffat nollgenomgångar. Och om det tycks
finnas signal (samplen är omväxlande positiva och negativa) så vet vi bara hur stor signalen MINST
är. Inte hur stor dem maximalt är. Och för varje förmodad signalstorlek finns dessutom två tänk-
bara faslägen som kan ge samma samples
Så igen; F = Fs/2 är en otillåten signal.
Bara för att vara tydlig så säger jag inte att Svante inte får leka med tanken att det finns en sådan
signal kodad där likt förbaskat, på grund av vad det än är, t ex signalmisshandel i digitala domänen,
men det är alltså inte en entydig kodning - inte en som tillgodoser samplingsteoremet.
Jag vill även än en gång påstå att man INTE kan veta VARKEN amplitud eller fas på en sådan signal.
Bara en min-amplitud.
Vh, iö
IngOehman skrev:Okej... Ny infallsvinkel, som jag hoppas jag skall nå fram med: Det är till ingen eller väldigt
måttlig nytta, att veta cosinusdelens amplitud allena.
Den kan vara noll trots att man har massor av signal, och även om man har en cosinusdel så
säger den inte något annat om signalen än att den är MINST så stor.
Därför är cosinusdelen av intet värde. Det är otillräcklig information om signalen för att sig-
nalen skall kunna beskrivas.
- - -
Så igen - BÅDE amplitud och fas för frekvensen Fh/2 är ovetbar. Och därför så får den inte
finnas med, alls. Detta alltså trots att man från sampeldata (ja, cosdelen) kan se hur stor in-
signalen var "minst".
- - -
Men det är inte möjligt att veta precis hur insignalen såg ut, och därför är det ju heller inte
möjligt att rekonstruera den från sampledata.
Gick det fram nu då?
Vh, iö
Användare som besöker denna kategori: Inga registrerade användare och 21 gäster