Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2014-11-21, 16:45
  #1
Medlem
När det kommer till datorer som räknar, är det alltid en överslagsräkning?
kan den överslagsräkningen bli mer precis, utan att energi nivån höjs?

tex. i en ljudström?
Citera
2014-11-21, 16:53
  #2
Medlem
AquaRegias avatar
Överslagsräkning? Vart har du fått det ifrån?
Citera
2014-11-21, 17:04
  #3
Medlem
menar du floating point.den är inte överslagräkning.men den är inte exakt.du måste ha mer bitar för att bli mera exakt.
Citera
2014-11-21, 17:14
  #4
Medlem
bithaxs avatar
När det gäller digitala signaler så samplas dem med en viss frekvens.

Det betyder att datorn läser av ett uppmätt värde x antal gånger i sekunden, typ signalen från en mikrofon.

Detta kan sedan lagras med olika precision, 16, 24, 32 bitar osv.

För att få en bra kvalitet krävs tillräckligt hög samplingshastiget
http://en.wikipedia.org/wiki/Nyquist_rate
och en tillräckligt hög precision.


För att svara på din fråga någolunda. När man mixar eller samplar om ljud som redan är samplat kan man använda olika algoritmer för att beräkna de nya samplingarna. Den enklaste är linjär interpolation, men det finns även sk. sinc interpolation osv.
__________________
Senast redigerad av bithax 2014-11-21 kl. 17:33.
Citera
2014-11-21, 18:30
  #5
Medlem
Citat:
Ursprungligen postat av RAFEAL
menar du floating point.den är inte överslagräkning.men den är inte exakt.du måste ha mer bitar för att bli mera exakt.

På vilket sätt är floating point inte exakt?


Citat:
Ursprungligen postat av bithax
När det gäller digitala signaler så samplas dem med en viss frekvens.

Det betyder att datorn läser av ett uppmätt värde x antal gånger i sekunden, typ signalen från en mikrofon.

Detta kan sedan lagras med olika precision, 16, 24, 32 bitar osv.

För att få en bra kvalitet krävs tillräckligt hög samplingshastiget
http://en.wikipedia.org/wiki/Nyquist_rate
och en tillräckligt hög precision.


För att svara på din fråga någolunda. När man mixar eller samplar om ljud som redan är samplat kan man använda olika algoritmer för att beräkna de nya samplingarna. Den enklaste är linjär interpolation, men det finns även sk. sinc interpolation osv.

Vänta lite... kan du förklara nyquist-rate/frequency?
__________________
Senast redigerad av freethespeech 2014-11-21 kl. 19:02.
Citera
2014-11-21, 19:02
  #6
Medlem
Du behöver nog googla på vad en överslagsberäkning är. En dator kan göra alla slags beräkningar som den programmeras för. Det beror inte på datorn utan på programmet hur den bär sig åt och vad den klarar.
Men det som troligen är svårast att programmera i en dator borde vara just en generell överslagsberäkning eftersom det ligger i begreppet att det _ska_ vara ungefärligt och inte exakt.
Citera
2014-11-21, 19:38
  #7
Medlem
Citat:
Ursprungligen postat av freethespeech
På vilket sätt är floating point inte exakt?
Floating point representeras i datorn enligt:
Värdesiffra * bas^exponent

Värdesiffran, även kallad mantissan, har ett begränsat antal värden den kan anta då den skall rymmas inom t ex 24 bitar i minnet. Jämför talen 0.666666667 och 0.666666666666666666666666666666666666666........ Det första är avrundat och redan där har man en liten avvikelse som kan ställa till det längre fram i en längre kedja av beräkningar. Inom numerisk analys så kan man avgöra om det är bättre att räkna ut A=B*C/D som A=(B/D)*C eller som A=(B*C)/D. Vet man om beräkningsmetodens svagheter så kanske man kan komma runt det genom att välja ordningen på operationerna rätt.

Citat:
Ursprungligen postat av freethespeech
Vänta lite... kan du förklara nyquist-rate/frequency?
Om du skall beskriva någonting du sett på ett så exakt sätt som möjligt så måste du ju ha fått tillräckligt med synintryck för att skapa en bra minnesbild. Nyquist-teoremet gör en matematisk koppling mellan hur mycket du måste ha sett för att kunna återskapa till en viss nivå.
Praktiskt så innebär det att du måste ha minst 2 sample av den signalkomponent som har högst frekvens för att teoretiskt kunna återskapa signalen. En CD-skiva är samplad med 44100 Hz, vilket ger en teoretisk maxfrekvens på 22050 Hz för återskapat ljud.
Om du samplar med 100 Hz och sedan skickar in en signal vars frekvens är 52 Hz, dvs 2 Hz över halva samplingsfrekvensen, så kommer resultatet att bli en spöksignal på 48 Hz. Ökar du frekvensen till 70 Hz så har spöksignalen flyttat sig ner med 70-50=20 Hz och hamnar på 30 Hz. Fortsätt att öka frekvensen till 101 Hz och spöksignalen "studsar" vid 0 och återfinns vid 1 Hz. Fenomenet kallas vikningsdistorsion.
Nyquist specar bara att du måste ha minst 2 sample. Har du fler än 2 sample så har du sk översampling och den räknas som en kvot. 6 sample är 6/2=3 gångers översampling.
Citera
2014-11-21, 21:31
  #8
Medlem
lasternassummas avatar
Citat:
Ursprungligen postat av freethespeech
När det kommer till datorer som räknar, är det alltid en överslagsräkning?
kan den överslagsräkningen bli mer precis, utan att energi nivån höjs?

tex. i en ljudström?

Exakt eller överslag?
I matematik har vi t.ex. naturliga tal, heltal, rationella tal, reella tal och komplexa tal.
I datorer väljer vi en digital representation som passar den aktuella tillämpningen.

Vi kan t.ex. låta ett 32-bitars heltal med tecken representera heltal i en dator.
Då kan vi representera heltal mellan −2 147 483 648 och 2 147 483 647.
Det räcker ju väl om vi t.ex. ska räkna människor i Sverige, men inte
om vi ska räkna människor på jorden. Då behöver vi kunna hantera större
tal. Om vi går över till 64-bitars heltal med tecken (-/+) kan vi hantera tal
mellan −9 223 372 036 854 775 808 och 9 223 372 036 854 775 807, vilket
är betydligt mer än jordens befolkning (ca 7 276 000 000).

För att representera reella tal använder vi (som beskrivits ovan) flyttal i datorer.
24 bitars mantissa och 8 bitars exponent (totalt 32 bitar) är en vanlig representation
som ger ca 8 (decimala) siffrors noggrannhet. Behöver vi större noggrannhet
kan vi använda 64-bitars flyttal, eller fler bitar, om det behövs.

Heltal i datorer är exakta, så länge storleken på talet räcker till.
Beräkningar med reella tal har en begränsad noggrannhet. I många
praktiska användningsområden är datorns noggrannhet större än
precisionen i indata. Behövs det kan man öka datorns noggrannhet
genom att räkna med fler bitar.

Ljud
Ljud är tryckvariationer som breder ut sig i luft. Det ljud vi kan höra
har ett frekvensomfång på ca 20-20000 Hz och en skillnad i nivå på
ljudtrycket på ca 130 db mellan det starkaste och det svagaste ljudet
vi kan höra.
För att representera ljud i digital form i en dator behöver vi spara
information om trycket vid t.ex. mikrofonen 20 000 x 2 gånger per
sekund (högsta frekvens gånger 2 – samplingsteoremet). På CD
används 44,1 kHz, 48 kHz på DVD, och på blu-ray används ännu
högre frekvens.
Hur många nivåer behövs? På en CD-skiva används 16 bitar, som
ger ca 65 000 nivåer. I DVD och Blu-ray-ljud kan man ha upp till
24 bitar, som ger ca 16 777 000 nivåer. Fler bitar ger möjlighet till
bättre signal-brus-förhållande och mindre digitalt brus.

Jag tyckte jag försökte fatta mig kort…

mvh/Bo
Citera
2014-11-21, 23:07
  #9
Medlem
jag förstår inte varför fler bitar behövs läggas till för att göra avancerade utmätningar...
uppenbarligen missar jag något viktigt här... MEN

Om vi tar vilket heltal som helst och ger varje position på värdesiffrorna en unik färgkod(våglängd).

för att sedan gå vidare och kolla storleken på siffran, för att göra ytterligare en sortering.
är värdesiffran 1-3 sorteras siffran med värdet 0
är värdesiffran 3-6 sorteras siffran med värdet .5
är värdesiffran 6-1 sorteras siffran med värdet 1.0

Som ni säkert förstår:
Något som innehåller 0-33% avrundas nedåt
på färgskalan "avrundas" detta då till föregående/start färgen.
33-66% avrundas till 50% +66% avrundas till 100%

Då borde det väl gå att indexera ett sample(dvs ett tal) som en "nyans"(eller radiovåg)
och därmed få exakt data vad gäller 2 sets av olika samples - utan att egentligen beräkna något nytt, eftersom "decimalen" bestäms av 2 olika färgpaljetter - och inte av minnet:s storlek?
__________________
Senast redigerad av freethespeech 2014-11-21 kl. 23:45.
Citera
2014-11-21, 23:35
  #10
Medlem
Klassiska datorer räknar alltid så exakt de kan. Men graden av exakthet varierar med antalet bitar som datorn använder till beräkningarna. Det är ungefär som när man räknar med papper och penna: du skriver inte ner alla decimaler utan du nöjer dig med "tillräckligt" många. Ta en sån sak som omkretsen på en tallrik: du vet diametern och du vet att diametern gånger pi är omkretsen. Tyvärr är pi ett sånt där tal som har oändligt med decimaler, så om du skulle börja multiplicera skulle du aldrig bli färdig, eftersom det finns oändligt med decimaler. Men du behöver inte så mycket precision, för dina behov räcker det kanske med att avrunda till tre.

Det är ungefär det samma i en dator, men detaljerna skiljer en del.

Ovanstående gäller datorer så som de flesta av oss tänker sig en dator. Forskarna har börjat leka med något de kallar "fuzzy logic" som ligger närmare hur verkligheten runt om oss funkar, och den är inte binär. Därmed blir "fuzzy logic" inte heller binär, det är mer "så här sannolikt att signalen tolkas som etta eller nolla".

Sen finns det en del "analoga datorer" som med tex vattenflöde kan simulera något, tex hur pengaflödet i ett samhälle påverkas av saker som skattenivåer och annat. Personligen tycker jag dock att det är fel att kalla dessa saker för "dator", men jag kan inte förneka att de kan få fram ett svar på annars väldigt besvärliga beräkningar. Men inte heller dessa är exakta.
Citera
2014-11-22, 00:55
  #11
Medlem
Citat:
Ursprungligen postat av xpqr12345
Forskarna har börjat leka med något de kallar "fuzzy logic" som ligger närmare hur verkligheten runt om oss funkar, och den är inte binär. Därmed blir "fuzzy logic" inte heller binär, det är mer "så här sannolikt att signalen tolkas som etta eller nolla".

kan mitt exempel över räknas till fuzzy logic?
dvs "överslagsräkning" av värdesiffror och decimaler representerade mot färg/temperatur-skalor?

ps. är floating point, inte en sorts överslagsberäkning? där antal bits bara bestämmer "vart" överslaget sker?
__________________
Senast redigerad av freethespeech 2014-11-22 kl. 00:59.
Citera
2014-11-22, 02:27
  #12
Medlem
Citat:
Ursprungligen postat av freethespeech
kan mitt exempel över räknas till fuzzy logic?
dvs "överslagsräkning" av värdesiffror och decimaler representerade mot färg/temperatur-skalor?

ps. är floating point, inte en sorts överslagsberäkning? där antal bits bara bestämmer "vart" överslaget sker?
Ditt exempel med färgskalor måste nog förklaras lite tydligare för att någon ska ha en uppfattning om det.

Nej, flyttalsberäkningar är inte överslag. De är beräkningar med det antal värdesiffror som ryms inom det antal bitar som erbjuds.
Ibland är de exakta, ibland är de avrundade.
Överslagsberäkningar gör vi genom att avsiktligt avrunda tal så att de blir mindre krävande att beräkna.
Dvs fysisk begränsning mot praktisk avvägning.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback