någon som är bra på att bygga filer?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17452
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

någon som är bra på att bygga filer?

Inlägg av grym »

en sak som jag inser att jag inte är bra på är filstrukturer hos pcdatorer

grundinställningen är att få en mätvärden till standard format, i detta fallet wav fil för
vidare behandling
vill kunna annvända standard program för att kolla och analysera mätvärden

vad är något bra program för att kolla på filer i rått format, alltså kolla på varje enskild byte
och sedan kunna manipulera den för att kolla igen

detta för att jag sedan ska kunna ta mätvärden , behandla dom i qbasic(tyvärr det jag kan bäst)
och sedan skapa en normal datorfil

alla andra förslag och infall uppskattas

grundförutsättningen är, en ad, dator, och ett litet program för att logga saker och ting, det klarar jag
sedan så måste man behandla rådatan (rensa skit och skala+ lite annat smått, fixas lätt i qbasic)
sedan ska man få ut något vettigt, nu finns det ju två bra möjligheter, wav filer så kan man annvända ljudprogram, köra fft analyser , eller göra en bild av det hela
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> "vad är något bra program för att kolla på filer i rått format,"

Mouse-Edit ?? :-)

Förlåt...

De allra flesta lite mer avancerade editorer har ett "HEX" läge, t.ex
HexEdit (!) från http://www.expertcomsoft.com/ som jag använder.

Jag kör äen UltraEdit32 för PIC utveckling, och jag tror att den också har ett HEX läge, men UE kanske är lite "overkill"...

Sen när det gäller själva filformatet är jag lite konfunderad. Jag skulle inte kalla WAV för ett "normalt" format, speciellt inte för att lagra mätvärden (utan att veta vad mätvärderna representerar, men det kanske är hemligt).

Uatn att veta mer, så skulle jag nöja mig med "rena" text/ASCII filer...
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Med Cooledit Pro kan du både öppna raw-filer (1/2 kanaler, valfri samplerate, 8/16/32bit signed/unsigned little/big endian - om jag minns rätt), spara som t.ex. wav och även analysera och redigera på diverse sätt.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Jag vet antagligen för lite, men är inte WAV primärt för *ljud* av olika slag ?

Om "mätadata" representar digitaliserat ljud kanske, men det kan i alla fall inte jag läsa ut av frågeställningen...

EDIT : Ändrade "ljus" till "ljud"... :-)
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17452
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

Inlägg av grym »

ska kolla på hex edit, tackar

att fuska och få data till att verka ljudfiler ger kanske några fördelar

för det första finns det massor av program för att redigera , lätt att kolla över data samlade under lång tid, och bara snabbt grafiskt kolla hur det ser ut

det andra är att lätt kunna köra en fft analys, visserligen blir frekvenserna fel om man inte samplar med rätt hastighet, men det har mindre betydelse då man kan räkna om skalorna om det skulle behövas

inget speciellt med datan, ska kolla om man kunde få ihop ett lågfrekvens ossciloskop, med en eller två kanaler, behöver kolla på vissa saker men vill gärna ha 16bits upplösning och dc ingång, , tror jag kom på hur man skulle kunna lösa det och sedan måste man kunna titta på vad som hände
(oftast långa samplingar eller engångsförlopp som ska jämföras med nästan samma värden från mätningen innan)
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Spelar ju ingen roll om det är ljud eller någon annan signal som man samplat in. Har själv använt cooledit och ett par andra ljud-program för att kolla på data från en ADC.

Ett annat alternativ är matlab, det ska nog gå att läsa in en rå binärfil där också.
ClasseMan
Inlägg: 176
Blev medlem: 9 juli 2004, 15:21:02
Ort: Karlskrona
Kontakt:

Inlägg av ClasseMan »

Jag rekomendera varmt matlab där går det bra att läsa in wav och en massa andra filformat. Rå data skall inte heller vara några problem. Det går även bra att läsa direkt från t.ex com portarna om det är där datan kommer in.

Men det är klart det är ju inte direkt gratis och kan man det innan tar det nog en stund och sätta sig in i det.
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Inlägg av MicaelKarlsson »

Håller med ClasseMan men som sagt Matlab är allt annat än gratis men det krävs ingen större kunskap för att läsa in en wav-fil i Matlab:

Kod: Markera allt

indata=wavread wavfil.wav
Lika svårt är det med de flesta filformat, bara att skriva help kommando så får man bra hjälp med syntaxen.[/i]
Senast redigerad av MicaelKarlsson 2 augusti 2005, 10:24:17, redigerad totalt 1 gång.
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17452
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

Inlägg av grym »

tackar, hexeditor var det som behövdes för att dissikera filer , nu har jag börjat få till det med bmp bilder och ljudfilerna ser enkla ut

men vilket djävla elände qbasic var på att hantera bytes i binärläge, tog halva natten innan jag kom runt den knuten, nu är det bara resten kvar :D
Användarvisningsbild
JimmyAndersson
Inlägg: 26415
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Livar upp en tråd från "forntiden"...

grym: Hur löste du det med bytes i binärläge? Någon programsnutt att visa?
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17452
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

Inlägg av grym »

japp
det är inte färdig men så långt mom jag innan jag var tvungen att vänta in hårdvaran, vilket hålls på med på i annan tråd :D

text och bild

ren enkelt gjorde jag såhär
en grundbild med lämpligt rutmönster
en datafil. plotta den på bilden , en gång för varje kanal
kopiera bilden till en ny utgångs fil

skickar ut en zipfil med program och bilder
säg till när du tankat hem den så tar jag bort den för att spara utrymme

zip
http://www.home.no/kandelberg/el/basic.ZIP


'start saker som mste defineras innan start
CLS
DIM y AS STRING 'y = 1 byte
LET a$ = "1" 'dummy fr att ha ett vrde att brja ifrn
LET y = a$ 'dummy fr att ha ett vrde att brja ifrn
GOSUB sub4 ' kopierar bildfilen
PRINT "kopierat bilden"

LET zt = 64 ' hur mycket det vita ska mrkas i bildfilen


'vj fil
OPEN "out.bmp" FOR BINARY AS #1
OPEN "datab.dat" FOR INPUT AS #2
LET ldfil = 30000


LET farg = 0 ' frg 0=svart 1=rd 2=grn 3=bl 4=turkos 5=cyan 6=gul
GOSUB sub2
PRINT "plottat frsta kanalen"
LET farg = 2 ' frg 0 1 2 3 4 5 6 7 8
GOSUB sub3

' avstgning
CLOSE #1
CLOSE #2
END







sub1:

'begrnsa data
IF xt > 1000 THEN LET xt = 1000
IF xt < 1 THEN LET xt = 1
IF yt > 800 THEN LET yt = 800
IF yt < 1 THEN LET yt = 1

LET w = (yt - 1) * 3000 + (xt * 3) + rgb + 54 ' kombinera x+y fr att peka rtt i filen
GET #1, w, y
LET yis = ASC(y)
LET yis = yis - zt
IF yis > 255 THEN LET yis = 255
IF yis < 0 THEN LET yis = 0
LET a$ = CHR$(yis)
LET y = a$
PUT #1, w, y

RETURN

sub2:
SEEK #2, 1

FOR lo1 = 0 TO ldfil

INPUT #2, posx$, yaa$, yab$, yba$, ybb$

LET posx = VAL(posx$)
LET yaa = VAL(yaa$)
LET yab = VAL(yab$)
LET yba = VAL(yba$)
LET ybb = VAL(ybb$)
LET ya = yaa * 256 + yab
LET yb = yba * 256 + ybb

LET xtt = INT((posx - 10000) / 30)
LET yt = INT(ya / 81.92)

LET xt = xtt

'PRINT posx, xt, yt


' skriv data
LET rgb = 0 '-2 -1 0
IF farg = 0 THEN GOSUB sub1
IF farg = 2 THEN GOSUB sub1
IF farg = 3 THEN GOSUB sub1
IF farg = 4 THEN GOSUB sub1

' skriv data
LET rgb = -1 '-2 -1 0
IF farg = 0 THEN GOSUB sub1
IF farg = 1 THEN GOSUB sub1
IF farg = 3 THEN GOSUB sub1
IF farg = 5 THEN GOSUB sub1

' skriv data
LET rgb = -2 '-2 -1 0
IF farg = 0 THEN GOSUB sub1
IF farg = 1 THEN GOSUB sub1
IF farg = 2 THEN GOSUB sub1
IF farg = 6 THEN GOSUB sub1

NEXT
RETURN

sub3:
SEEK #2, 1
FOR lo1 = 0 TO ldfil

INPUT #2, posx$, yaa$, yab$, yba$, ybb$

LET posx = VAL(posx$)
LET yaa = VAL(yaa$)
LET yab = VAL(yab$)
LET yba = VAL(yba$)
LET ybb = VAL(ybb$)
LET ya = yaa * 256 + yab
LET yb = yba * 256 + ybb

LET xtt = INT((posx - 10000) / 30)
LET yt = INT(yb / 81.92)

LET xt = xtt

'PRINT posx, xt, yt


' skriv data
LET rgb = 0 '-2 -1 0
IF farg = 0 THEN GOSUB sub1
IF farg = 2 THEN GOSUB sub1
IF farg = 3 THEN GOSUB sub1
IF farg = 4 THEN GOSUB sub1


' skriv data
LET rgb = -1 '-2 -1 0
IF farg = 0 THEN GOSUB sub1
IF farg = 1 THEN GOSUB sub1
IF farg = 3 THEN GOSUB sub1
IF farg = 5 THEN GOSUB sub1


' skriv data
LET rgb = -2 '-2 -1 0
IF farg = 0 THEN GOSUB sub1
IF farg = 1 THEN GOSUB sub1
IF farg = 2 THEN GOSUB sub1
IF farg = 6 THEN GOSUB sub1


NEXT
RETURN


sub4:
'kopiera bildfilen
OPEN "mall100b.bmp" FOR BINARY AS #1
OPEN "out.bmp" FOR BINARY AS #2
DO WHILE NOT EOF(1)
GET #1, , a
PUT #2, , a
LOOP
CLOSE #1
CLOSE #2
RETURN




'#1 = bildfil
'#2 = rdatafil
'
'a$ = fildata
'
'yis = binrvrdet fr filadressen
'y = fildata i en byte format
'w = filadress
'xt = xpos
'yt = y pos
'zt = z vrde 0 till 255
'rgb = frg pos i bildfilen

'b$ = rdata frn datafil
'c$ = dummy B$
'posx$ = data position
'yaa$ = data a a
'yab$ = data a b
'yba$ = data b a
'ybb$ = data b b
'ldfil = lngd datafil
'lo1 = loop 1
'lo2 = loop 2
'lo3 = loop 3
'y2 = fildata i byteformat datafil
'posx = data pos
'yaa = data a a
'yab = data a b
'yba = data b a
'ybb = data b b
'ya = data a 0 till 65535
'yb = data b 0 till 65535

Bild
Användarvisningsbild
JimmyAndersson
Inlägg: 26415
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Nu har jag tankat ner filen.

Trevlig programkod. Tack för hjälpen! :)
Användarvisningsbild
grym
EF Sponsor
Inlägg: 17452
Blev medlem: 16 november 2003, 12:22:57
Ort: i det mörka småland

Inlägg av grym »

hoppas det kommer till användning
har även programmet som skapar en dummyfil för att prova skopfunktinen
är det något du vill ha så hojta till
Skriv svar