Sunday, 15 October 2017

Flytte Gjennomsnittet Simulink Blokk


Tutorial: Selvbalanserende EV3 Robot Denne veiledningen vil vise deg hvordan du bygger og programmerer en selvbalanserende LEGO MINDSTORMS EV3 robot som kan kjøre rundt et rom. Du kan bygge og programmere BALANC3R (venstre) eller Gyro Boy (høyre). Når roboten er oppe, blir du utfordret til å tilpasse konstruksjonen og programmet for å finne din egen selvbalanseringsrobot. Trinn 1: Bygg en robot For å starte, velg roboten du vil bygge, og følg de respektive trinnvise bygningsinstruksjonene. Krav til BALANC3R: Krav til Gyro Boy: Trinn 2: Installere EV3 Gyro Sensor-blokk Hvis you8217er bruker LEGO MINDSTORMS EV3 Home Edition-programvaren, må you8217ll installere EV3 Gyro Sensor-blokken før du kan programmere roboten din. Følg trinnene i denne artikkelen for å installere blokken. Hvis du bruker LEGO MINDSTORMS EV3 Student Edition, er denne blokken allerede installert. Installere nye sensorblokkerStep 3: Last ned balanseringsrobotprosjektet Høyreklikk denne lenken. klikk 8220Save Link As, 8221 og lagre prosjektfilen på datamaskinen. Start EV3 programmeringsprogramvaren, og åpne den nedlastede prosjektfilen. Før du kjører programmene, let8217s kort undersøke hvordan de fungerer. Prosjektet inneholder fire eksempelprogrammer, to for hver robot: BALANC3R-Grunnleggende. Balanse på plass, sving til høyre, og sving til venstre BALANC3R-RemoteControl. Kontroller roboten med den infrarøde fjernkontrollen GyroBoy-Basics. Balanse på plass, sving til høyre, og sving til venstre GyroBoy-AvoidObstacles. Kjør rundt mens du unngår hindringer Hvert program består av to konfigurasjonsblokker. en balanse sløyfe. og en styrekontrollsløyfe. som vist i figuren under. Balanseringsprogrammet består av en balanse, en styrekontrollsløyfe og konfigurasjonsblokker. Konfigurasjonsblokkene lar deg spesifisere hva roboten ser ut, slik at roboten vet hvordan man skal balansere. For eksempel angir den andre innstillingen av den første innstillingen diameteren til robot8217-hjulene. Eksempelprogrammene blir forhåndskonfigurert med de riktige innstillingene for BALANC3R og Gyro Boy hvis du bruker LEGO EV3 Gyro Sensor. Hvis du bruker NXT HiTechnic Gyro, endrer du Velg Sensor-innstillingen på Initialize My Block til 1. Balansesløyfen holder roboten balansert. Det måler og beregner motorens posisjon og hastighet, og det bestemmer robot8217s vinkelhastighet (hvor raskt det faller), samt roboten8217s vinkel i forhold til bakken. I sin tur bruker den denne sensorinformasjonen til å beregne hvordan man kjører motoren for å holde roboten oppe riktig. Du behøver ikke å endre noen innstilling av blokkene i denne løkken. Driftsstyringsløyfen styrer hastigheten og styringen av roboten mens den kjører rundt et rom ved hjelp av en forenklet trekkblokk. Dette er delen av programmet som du enkelt kan tilpasse for å lage ditt eget program. Trinn 4: Kjører det grunnleggende eksempelprogrammet Du er nå klar til å laste ned eksempelprogrammet til roboten. Hvis you8217ve har bygget BALANC3R, begynner du med BALANC3R-Grunnleggende. Hvis you8217ve har bygget Gyro Boy, begynner du med GyroBoy-Basics. For å starte programmet: Hold roboten oppreist med hjulene på bakken. Ikke hold det tett, men hold det løst slik at det bare faller framover og faller bakover. Velg programmet og start det med senterknappen på EV3-teglstenen. You8217ll hører først ett pip. Hold inne roboten på plass. Du hører da et dobbelt pip. Slip nå roboten og la den balansere. Roboten din skal nå balansere på nytt i 7 sekunder, ta til høyre i 7 sekunder, og sving til venstre i 7 sekunder. Følg disse trinnene hvis roboten doesn8217t balanserer: Gjenta trinnene over noen ganger hvis det ikke fungerer på første forsøk. Etter en stund vet du hvilken som er den riktige 8220upright8221 startposisjonen. Ikke prøv å 8220help8221 robotbalansen. Selvfølgelig bør du fange roboten før den faller, men prøver å holde den oppreist med hendene dine er motvirke. Kontroller at kablene er riktig koblet til i henhold til bygningsinstruksjonene: De to store motorer skal kobles til porter A og D. (Hvis you8217ve byttet dem ved et uhell, er det bra. Robotten vil forveksle venstre og høyre sving, men balansen er upåvirket .) Gyro sensoren skal kobles til inngangsport 2, uansett hvilken sensor du bruker. Kontroller at you8217ve har montert Gyro Sensoren korrekt i henhold til bygningsinstruksjonene. Kontroller at batteriene er friske. Bekreft at du bruker den nyeste EV3-firmwaren (1.06H eller 1.06E av denne skrivingen). Trinn 5: Kjør det andre eksempelprogrammet Hvis du har programmert roboten i det forrige trinnet, er det enkelt å prøve det andre eksempelprogrammet for roboten. Robotten balanserer på nøyaktig samme måte, men robot8217s bevegelser er litt mer interessante: BALANC3R-RemoteControl lar deg styre BALANC3R med infrarød fjernkontroll, som vist i videoen ovenfor. Bare trykk på knappene på fjernkontrollen for å gjøre robotstasjonen fremover, bakover og slå. (You8217ll regner raskt ut kontrollene.) Hvis du ikke trykker på noen knapper, justerer roboten på samme sted. GyroBoy-AvoidObstacles gjør Gyro Boy kjører rundt et rom mens du sikkerhetskopierer hindringer, som vist i videoen ovenfor. Før du kjører programmet, sørg for at de hvite bjelkene i begge robot8217s armer peker nedover. Programmet er avhengig av denne startposisjonen for å sikre at Ultrasonic Sensor doesn8217t ikke oppdager gulvet som en 8216obstacle8217 når robot8217s venstre arm peker nedover. Trinn 6: Tilpasse programmet Som du tidligere har lært, holder balansen loopen roboten balansert mens kjørekontrollsløyfen styrer roboten8217s hastighet og styring. De to løkkene løper samtidig, eller samtidig. I kjørekontrollsløyfen bruker du Move My Block til å spesifisere robot8217s hastighet og styring. som vist nedenfor. Flyttblokk gjør robotstasjonen og styre. I denne konfigurasjonen kjører roboten fremover (30) mens du svinger til venstre (-15). Roboten fortsetter å kjøre eller snu til den angitte hastigheten til du kjører blokken igjen med forskjellige verdier for hastighet og styring. Figuren under viser Flytt min blokk i handling i det grunnleggende eksempelprogrammet du kjørte i trinn 4. Den første Flytt-blokk setter både styring og hastighet til 0, noe som gjør robotbalansen på plass uten å snu. Deretter stopper en ventetidsløyfe i 7 sekunder, og holder roboten på samme sted. Deretter setter en annen Flytt-blokk styringsverdien til 20, slik at roboten svinger til høyre. Etter en annen ventetid på 7 sekunder begynner roboten å stille inn igjen ved å stille inn styringsverdien til -20. Nå som du har lært å styre roboten, er it8217s tid til å sette ferdighetene dine på prøve med programmeringsutfordringer. For å løse disse utfordringene kan du bruke teknikkene fra LEGO MINDSTORMS EV3 Discovery Book. presenteres i kapittel 1-9. I stedet for å bruke Flytt styringsblokker i På-modus som i eksempelprogrammene, bruker du Flytt mine blokker som vist ovenfor. Utfordringer for BALANC3R: Lag roboten din rundt et rom, samtidig som du unngår hindringer med infrarød sensor i nærhetstilstand. Få roboten til å følge infrarød stråle. Når du beveger beaconet rundt, bør roboten følge deg. Fest fargesensoren foran robot8217s hjul, og la roboten følge en linje. Du kan skrive ut linjene etter spor for roboten herfra. Utfordringer for Gyro Boy: Gjør robotstasjonen din i forskjellige retninger basert på fargen den oppdager med fargesensoren. For å oppnå dette, må roboten vente på sensoren for å se enten en gul, rød, grønn eller blå gjenstand. Deretter må du kjøre den i en bestemt retning i 3 sekunder basert på den oppdagede fargen, før du venter på et nytt fargesignal. Gjør din robot vise forskjellige typer faceseyes på skjermen når du samhandler med sensorer. Vis et sint ansikt hvis du trykker på berøringssensoren, vis et godt ansikt når du utløser fargesensoren, og så videre. Trinn 7: Lag din egen balanseringsrobot I de forrige trinnene gjorde you8217ve balansen Balal3R eller Gyro Boy på to hjul, og du lærte å styre den med Move My Block. Nå som du har de grunnleggende komponentene som fungerer, er du klar til å tilpasse både roboten og programmet. For eksempel kan du slå BALANC3R til en livslig humanoid med armer, og få det til å snakke med deg. Eller vær gal og gjør EV3 kjøretøybalanse på bakhjulene. Hva med en selvbalanserende F1 stil racerbil. Uansett hva du gjør, la andre få vite i kommentarene nedenfor. Gledelig bygning Trinn 8: Videre lesing For å gjøre denne opplæringen tilgjengelig for alle med et EV3-sett, dekket jeg ikke om detaljene for balanseringsalgoritmen. Snarere gjør utformingen av dette programmet det mulig å styre roboten selv om du ikke vet nøyaktig hvordan balanseringsmekanismen fungerer. Imidlertid har mange papirer blitt skrevet om selvbalanserende roboter, og jeg oppfordrer deg til å lese mer om emnet mens du undersøker detaljene i EV3-programmet som er gitt på denne siden. Balanseringsalgoritmen i dette programmet er basert på en bacheloroppgave skrevet av Steven Witzand. som gir en god oversikt over emnet, sammen med Java kildekoden som implementerer balanseringsalgoritmen. I sin tur bygger dette papiret på design og algoritme som brukes i NXTway-GS av Yorihisa Yamamoto. som du kan studere for ytterligere detaljer. Gyroen er ikke nødvendigvis ødelagt. Det må kanskje bare rekalibreres. For å gjøre dette må du trekke ut sensoren fra mursteinen og koble den inn igjen. For best resultat bør dette gjøres mens roboten ligger flatt på bakken eller bordet, slik at det ikke beveger seg under kalibreringen. I8217ll legger til dette i feilsøkingsdelen. Programmet står for dette ved å gjøre sin egen kalibrering, men LEGO Gyro Sensoren kan være avstand når den beveger seg for mye når du plugger den inn. Jeg ville ikke rive bilen min, så jeg brukte sensorer og motorer fra min NXT kit. For å gjøre Balanc3r-arbeidet måtte jeg omarbeide noen få ting i bygningsinstruksjonene dine. Når jeg kjørte programmet, fikk det en pipetone, deretter 2 pip og da begynte roboten å balansere, ventet i 7 sekunder og gikk rett fremover med høy hastighet, falt ned og stoppet med 8220ERROR8221 på skjermen. Før du drar inn i programmet for læring, vil jeg prøve programmet ved hjelp av formulärbilen som roboten. Hvis dette mislykkes, vil jeg fullføre lesingen din og prøve å bygge roboten i henhold til instruksjonene dine. Takk for at du skrev dette, I8217m er ganske nytt til minstorms. I8217ve ben jobber med å oversette HiTechnic balancing bot programmet (NXT-G) til (EV3-G). I8217ll fortsetter å jobbe med det og sammenligne det med programmet ditt (som fungerer bra) og se om man er bedre enn den andre. Takk igjen. P. S Jeg prøvde programmet med en bot som Educator bot laget fra 31313, og en annen bot av min egen design og det jobbet fortsatt. Er det greit hvis jeg legger linken til her på Mindstorms fellesskap og bilder av boten din Da jeg bare har en stor motor tilgjengelig for nå, laget jeg en enkeltmotor, men 2 hjul robotbase på BALANCE3R med liten forandring på robotstruktur og program . Det er i stand til å holde seg stabilt og bevege seg fremover, men det kan ikke styre (selvfølgelig kan det ikke). Det er min første selvbalanse robot. Takk Laurens Ett spørsmål, ReadEncoder-blokken inneholder en parameter 57.3. Hva betyr denne verdien Er det avhengig av robotstrukturen, det vil si at roboten er høyere og større enn BALANCE3R, må jeg endre denne verdien. Kul for å høre deg laget en modifisert robot. 57,3 er 180 PI. Jeg bruker den til å konvertere mellom grader og radianer. Med vinklene målt i radianer, er det lettere å beregne avstand og hastighet. (avstandsvinkelsradius og svinghastighetsradius.) Som jeg sett med noen, bygget jeg BALANC3R, men fortsatte å få ERROR på mursteinen etter at den kjørte raskt og falt. Jeg prøvde et dusin ganger eller mer uten suksess. Jeg dobbeltkjekker min bygge - og firmwareversjoner og alt var riktig. Så ut av det blåste det en gang 8211 Jeg var så spent Det jeg lærte over tid er at ERROR-meldingen oppstår når roboten ikke finner sin følelse av balanse. For meg er det en veldig delikat prosedyre for å plassere roboten i akkurat den riktige stillingen (hver så svak lenke bakover fra en likevektsposisjon), slik at når den starter kjører den seg selv. Jeg holder også det opprettholdt opprettholdt med det minste trykket, for ikke å hindre bevegelsen når den starter under egen kraft. Nå som jeg har praktisert, kan jeg få det til å gå riktig om lag 90 av tiden. Hei Laurens, it8217s Andre, fra Brasil. Først og fremst, takk for at du deler all informasjonen med oss, I8217m sikker på at du har hatt suksess i MSc I8217ve, bygget roboten i henhold til instruksjonene dine, men jeg har en Dexter Gyro, og jeg merker at den delte filen ikke er fullført for denne sensoren . Er det mulig for deg å hjelpe meg å få det til å fungere Hvordan fullføre programmet og hva skal være de riktige verdiene for kP, kI og kD Mange takk på forhånd Hei Laurens, jeg bygget og prøvde GyroBoy og det fungerer bra. Først hadde jeg glemt å importere sensorblokkene som resulterte i en rekke feil som er oppført ovenfor: FEIL, rask bevegelse bakover (i mitt tilfelle), 8230 Importering og aktivering av sensorblokkene og omstart av LabView tok seg av det. I8217ve vært på koden din og møtt variabler () i grå programmeringsblokker. Paletten viser standardblokker (grønn, gul, blå, rød, etc8230), men ingen grå blokker. Kan du fortelle meg hvor de kommer fra Takk på forhånd. Med vennlig hilsen Frank De er inngangene og utgangene til My Blocks. Du kan lære mer om disse og hvordan du kan lage din egen i boken Bestilte boken din 19. mars (Standard Boekhandel), fikk en melding den 30. mars om at den hadde blitt sendt (var på bestilling fra distributøren så lenge). Fikk en annen melding den 2. april at den hadde blitt returnert skadet. Nå venter fortsatt levering (sliping teeth8230). På ingen måte er feilen din selvfølgelig. Bare for å illustrere at tålmodighet er en dyd Anywho. Vi (Overpelt Lego Builders Club i tilknytning til KWB Koersel) hadde en bygg og show helg for en uke siden hvor jeg viste Gyroboy. Veldig godt mottatt Eyecatcher og mange spørsmål. Takk for det utmerkede prosjektet Hei Laurens, mottok boka sist fredag. Og jeg må si, absolutt verdt ventetiden Excellently Worthy of a hardcover I8217ve vært i gang i IT siden slutten av 70-tallet (ja, forrige århundre) og har samlet et ganske bibliotek med tilhørende bøker. Din tilhører de øverste få. Vet du om det finnes en nederlandsk oversettelse på forhånd. Takk på forhånd. Med vennlig hilsen, Frank De Hert Takk for begge kommentarene Frank, jeg setter pris på det. Glad du fikk boken til slutt. Åh hvordan jeg skulle ønske jeg kunne ha en innbundet utgave, haha. There8217s er foreløpig ikke en nederlandsk versjon. I8217d må finne en utgiver som ønsker å publisere den. Hei, jeg klarte å bygge BALANC3R og laste opp grunnleggende koden. Det fungerte veldig bra. Jeg var selv i stand til å gjøre endringer for å få det til å fungere hvordan jeg vil, men problemet er hvordan du lagrer den nye koden jeg genererer. Når jeg åpner det jeg har lagret, er endringene jeg hadde gjort ikke lenger i koden. Det går tilbake til koden din. Help8230 Jeg elsker boken din og nettstedet ditt Takk mange :) Når du laster ned koden, må du lagre den på datamaskinen på et kjent sted, for eksempel dokumentmappen din, i stedet for å åpne den direkte fra siden (da endes det i en midlertidig mappe, og du kan miste endringene.) Gi meg beskjed hvis det hjelper. Glad du liker boken også, takk for å dele Jeg prøver å bygge selvbalanseringsrobot ved hjelp av lego EV3 med RobotC-plattform. Sensoren som brukes er gyroskop og er bygd i motorkodere. Kan noen gi meg kildekoden for en slik robot med ev3 og robotc Hei, jeg har bygget Balanc3r ved hjelp av nxt motorsett, men med en ev3 murstein og lego gyro. Det betyr at jeg måtte endre designen, siden nxt-motorene er forskjellige både når det gjelder hull og akseljustering. Jeg prøvde å opprettholde sensoren på samme vertikale som hjulaksene, og midtpunktet på murstein på hjulakslen også. Jeg bruker 62,421520 diameter dekk så jeg satte opp det på programmet (prøver fortsatt å kilde noen 43.2215228217s og felger for dem). Jeg har friske batterier. Jeg droppet IR-sensoren for nå, og deaktiverte flyttekoden. I utgangspunktet burde jeg ha en Balanc3r som står på plass. Roboten er begynt å legge seg ned, så gyroen går ikke. Jeg kan også legge inn noen bilder av den. Hver gang jeg starter roboten, går den bare i én retning (avhengig av hvor bra jeg balanserte det) og så går feil. Jeg har bygget lyssensor-segwayen med en ganske god suksess med det samme progresjonelle lego-settet, men dette med gyroen er ikke så vellykket. Eventuelle forslag jeg kunne prøve (tune parametrene) Hva mener du med 8220 Roboten er påbegynt å legge ned8221 Roboten skal holdes oppreist (se trinn 4.) Nei, jeg mener at mursteinen selv begynner å ligge flatt, så det er absolutt ingen bevegelse for å kompensere gyroen. Når mursteinen er fullt startet, kjøres programmet med roboten oppe til høyre. Jeg har bygget roboten i GyroBoy, og den fungerer. Jeg tror jeg må prøve å bygge Balanc3r annerledes kanskje. Hei Laurens Jeg bygget Balanc3r og jeg elsket det, men jeg lurte på om jeg ønsket å bruke det samme programmet, men bygge en større skala med større hjul er det mulig, eller trenger jeg å endre noe i koden jeg er ikke så god på Ev3 koding, men jeg prøver å lære:. Takk på forhånd Hei, jeg har gått gjennom balansen din fordi jeg liker å finne ut hvordan ting fungerer, og jeg må si at jeg er veldig imponert. Jeg prøver for tiden å bygge en robot som balanserer på ett hjul ved hjelp av blokkene mine du opprettet her. Det er et bestemt stykke av programmet som jeg ganske enkelt kan bryte hodet mitt rundt, og lurte på om du kunne hjelpe. Det vil si ReadGyro-blokken. Jeg forstår bare hva som skjer i begynnelsen av koden og hvorfor. Følgende er hovedspørsmålet jeg har. gtgtHva representerer varianten 8216mean8217 jeg prøvde så lenge og couldn8217t forstå hvorfor gjennomsnittet trukket fra nåverdien gir vinkelhastigheten. Jeg trodde verdien utgitt fra GyroRate-blokken var selve vinkelhastigheten. Hvis du kunne kaste litt lys på dette, ville jeg virkelig sette pris på det. Takk og alltid en fan For alle som får feil: Dette betyr at roboten ikke finner balansen. Les nøye instruksjonene: roboten bør være i likevekt når du starter programmet, noe som betyr at den nesten skal stå stille hvis du forlater det uten å starte programmet. Deretter starter programmet, og ved første pipetid bør du forlate det, og det vil finne balansen. Dette virker ikke hver gang, så prøv mange ganger til du får det riktig. Du vil gradvis lære å starte den. Don8217t glemmer også å laste ned og installere driveren (eller blokken) for gyrosensoren fra Mindstorms nettside i henhold til instruksjonene i trinn 2 ovenfor. Uten føreren installert, vil roboten aldri fungere, uansett hva du prøver. Og jeg finner at støtten (Gyro-Boy-bygningsinstruksjonene trinn 1 til 17) hjelper virkelig godt med å holde roboten oppe riktig når programmet startes. Som Fred sa: roboten må være i likevekt når man starter programmet. Det er på denne tiden at gyro-sensors posisjon er nullstillet. Hvis dette skjer når roboten er f. eks. lener seg fremover (selv bare en grad) vil roboten alltid forsøke å justere avbøyninger til den nulposisjonen, som lutar seg fremover. Dette vil alltid ende opp i en FEIL status. Hei, i8217m prøver å få Balanc3r med infrarød fjernkontroll en ekstra ultralyd og knapp sensor for å lage støy når noen kommer nær eller si noe når du trykker på knappen. Men nå ser det ut som balanseringsfunksjonene can8217t holder opp og roboten faller. Er det en måte å la dem jobbe sammen, eller er prosessoren ikke rask nok til å kalkulere all koden Når jeg så på NXTway-GS balanseringsroboten, la jeg merke til at det går mye raskere enn balansen, er dette mulig med EV3 eller ikke Thanx i Foran, Allan Hei, jeg er pensjonert fra et teknisk yrke, og jeg oppdaget Lego og Mindstrom takk til din bok, med mye moro både for meg og mine barnebarn. Takk for ditt veldig interessante nettsted Jeg har bygget Gyroboy og gjort noen modifikasjoner: Jeg har endret fargen detektorens posisjon slik at den lar gyroboy gå på et bord uten å falle ut av det. Se her: dropboxs4w139ciwmyzif51Gyroboy20on20table. movdl0 Jeg har også lagt til IR-sensoren for å kunne kjøre Gyroboy. Likevel prøvde jeg å bytte pipet før kjøresløyfen på programeksemplet for å få Gyroboy si: 8220Let8217s går nå8221, men det virker som at det avbryter balanseringssløyfen for lenge, fordi det får det til å falle mesteparten av times8230. Er det en måte å gjøre dette uten å forstyrre sløyfen for lenge Hei, jeg er en forsker i robotteknologi og AI, og jeg er interessert i å bruke dette som en del av undersøkelsen, it8217s en meget godt bygget kontroller. Jeg har bare to spørsmål som jeg ikke forstår om koden som brukes, hvis du ikke gir meg litt info 1) Når du får motorhastighet og motorposisjon verdier, deler du begge med 57.3. Er dette bare en konstant Ellers, hva er formålet med det nummeret 2) Når du får vinkelhastigheten og bruker den i løpende gjennomsnitt, bruker du dt x 0.2. Hvorfor multipliserer du det med 0,2 Du kan være interessert i å bruke (og referere) min nyere kode i stedet (githublaurensvalksegway). Det tar ut noen overflødige trinn som fremdeles er tilstede i denne koden. 1) It8217s 180pi. Ringer det en klokke 2) It8217 er en parameter for å angi oppdateringshastigheten til gyroforskyvningen. Hver gang jeg kjører programmet, vil begge store motorer plutselig kjøre 100 i omtrent 2 sekunder, og så stopper de. Deretter vises en melding som sier FEIL på skjermen. Vet du hvordan jeg kan fikse dette? Enhver hjelp ville bli verdsatt. Dokumentasjon Fading Channels Oversikt over Fading Channels Med Communications System Toolboxx2122 kan du implementere fading kanaler ved hjelp av objekter eller blokker. Rayleigh og Rician fading kanaler er nyttige modeller av virkelige fenomener i trådløs kommunikasjon. Disse fenomenene inkluderer multipath-spredningseffekter, tidsdispersjon og Doppler-skift som oppstår ved relativ bevegelse mellom senderen og mottakeren. Denne delen gir en kort oversikt over fading kanaler, og beskriver hvordan du implementerer dem ved hjelp av verktøykassen. Figuren under viser direkte og store reflekterte baner mellom en stasjonær radiosender og en bevegelig mottaker. De skyggelagte figurene representerer reflektor som bygninger. De store banene resulterer i ankomsten av forsinkede versjoner av signalet til mottakeren. I tillegg gjennomgår radiosignalet spredning på lokal skala for hver hovedvei. Slike lokal spredning blir typisk karakterisert ved et stort antall refleksjoner av gjenstander i nærheten av mobilen. Disse uoppløselige komponentene kombineres ved mottakeren og gir opphav til fenomenet kjent som flerveisfading. På grunn av dette fenomenet, oppfører hver hovedvei seg som en diskret fadingbane. Vanligvis er fading-prosessen preget av en Rayleigh-fordeling for en ikke-synlig bane og en Rician-distribusjon for en synspunktbane. Den relative bevegelsen mellom senderen og mottakeren forårsaker Doppler-skift. Lokal spredning kommer vanligvis fra mange vinkler rundt mobilen. Dette scenariet forårsaker en rekke Doppler-skift, kjent som Doppler-spektret. Den maksimale Doppler-skiftet tilsvarer de lokale spredningskomponentene, hvis retning er nøyaktig mot mobilsbanen. Implementere Fading Channel ved hjelp av et objekt En basebandkanalmodell for multipath-forplantningsscenarier som du implementerer ved hjelp av objekter, inkluderer: N diskrete fadingbaner, hver med sin egen forsinkelse og gjennomsnittlig effektforsterkning. En kanal for hvilken N 1 kalles en frekvens-flat fading kanal. En kanal for hvilken N gt 1 oppleves som en frekvensselektiv fadingkanal med et signal med tilstrekkelig bred båndbredde. En Rayleigh eller Rician-modell for hver bane. Standard kanalvei modellering ved hjelp av et Jakes Doppler spektrum, med et maksimal Doppler skift som kan spesifiseres. Andre typer Doppler-spektra tillatt (identiske eller forskjellige for alle baner) inkluderer: flat, begrenset Jakes, asymmetrisk Jakes, Gauss, bi-Gauss, og avrundet. Hvis det maksimale Doppler-skiftet er satt til 0 eller utelatt under konstruksjonen av en kanalobjekt, objektiserer objektet kanalen som statisk (dvs. fading utvikler seg ikke med tiden), og spesifisert Doppler-spektrum har ingen effekt på fading-prosessen. Noen tilleggsinformasjon om typiske verdier for forsinkelser og gevinster er i Velg Realistisk kanalegenskap Verdier Implement Fading Channel Bruke en blokk Kanalblokk biblioteket inkluderer Rayleigh og Rician fading blokker som kan simulere virkelige fenomener i mobilkommunikasjon. Disse fenomenene inkluderer multipath-spredningseffekter, samt Doppler-skift som oppstår ved relativ bevegelse mellom senderen og mottakeren. Merk Hvis du vil modellere en kanal som involverer både fading og additiv hvit Gaussisk støy, bruk en fading-kanalblokk som er koblet i serie med AWGN-kanalblokken, der fadingkanalblokken kommer først. Tabellen nedenfor angir situasjoner der hver fading-kanalblokk er riktig. I tilfelle av flere store reflekterte baner kan en enkelt forekomst av Multipath Rayleigh Fading Channel-blokken modellere dem alle samtidig. Antallet baner som blokken bruker, er lengden på enten forsinkelsesvektoren eller Gain-vektorparameteren, hvilken lengde som er større. (Hvis begge parameterne er vektorer, må de ha samme lengde hvis nøyaktig en av disse parametrene er en skalar. Blokken ekspanderer den til en vektor hvis størrelse samsvarer med den andre vektorparameteren.) Velge passende blokkparametere for din situasjon er viktig. Hvis du vil ha mer informasjon om parameterne for fading-kanalblokker, kan du se Vise realistisk kanalegenskapsverdier under Konfigurere kanalobjekter i dokumentasjonen for kommunikasjonssystemets verktøykasse Kompensere for fading-respons Et kommunikasjonssystem som involverer en falmingskanal krever vanligvis komponent (er) som kompenserer for fading respons. Typiske tilnærminger for å kompensere for fading inkluderer: Differensiell modulering eller en-trykks-equalizer bidrar til å kompensere for en frekvens-flat fading kanal. Se M-DPSK Modulator Baseband-blokk-hjelpesiden eller eksempelet i Sammenlign Empirical Results to Theoretical Results for informasjon om implementering av differensialmodulering. En equalizer med flere kraner bidrar til å kompensere for en frekvens-selektiv fading kanal. Se Equalization for mer informasjon. Eksemplet Kommunikasjonslink med Adaptive Equalization illustrerer hvorfor kompensere for en fading-kanal er nødvendig. Visualiser en falmingskanal Du kan plotte en fading-kanalegenskaper ved hjelp av kanalvisningsverktøy. For kommunikasjonssystemer som du implementerer ved hjelp av objekter, se Kanalvisualisering. For kommunikasjonssystemer du implementerer ved hjelp av blokker, er det to måter å visualisere fading kanalrespons. En måte er å dobbeltklikke på blokken under en simulering. Den andre måten er å velge Open channel visualization ved simuleringsstart i blokkdialogboksen. Metodikk for simulering av flerfasede fadingkanaler: Rayleigh og Rician-flervalsfadingkanalsimulatorene i Communications System Toolbox bruker den båndbegrensede, diskrete flerveiskanalmodellen i avsnitt 9.1.3.5.2 i 1. Denne implementeringen forutsetter at forsinkelseskraftprofilen og Doppler-spektret av kanalen er separerbare 1. Flerviktsfadingkanalen modelleres derfor som et lineært, finitivt impulsrespons (FIR) filter. La betegne settet av prøver ved inngangen til kanalen. Da er prøvene på kanalens utgang relatert til gjennom: yi x2211 n x2212 N 1 N 2 si x2212 ngn hvor er settet av trykkvekter gitt av: gn x2211 k 1 K ak sinc x03C4 k T s x2212 n, x00A0 x2212 N 1 x2264 n x2264 N 2 I ligningene over: T s er inntaksprøveperioden til kanalen. . hvor 1 x2264 k x2264 K. er settet med sti forsinkelser. K er det totale antall baner i flervåtsfadingkanalen. . hvor 1 x2264 k x 2264 K. er settet med komplekse baneforbedringer av flervågsfadingkanalen. Disse veiøkningene er ukorrelerte med hverandre. N 1 og N 2 er valgt slik at gn er liten når n er mindre enn x2212 N 1 eller større enn N 2. To teknikker, filtrert Gaussisk støy og sum-of-sinusoider, brukes til å generere settet med komplekse bane gevinster, ak. Hver vei får prosess en k genereres av følgende trinn: Filtrert Gaussisk støyteknikk En kompleks, ukorrelert (hvit) Gauss-prosess med null-middel - og enhetvariananse genereres i diskret tid. Den komplekse Gauss-prosessen filtreres av et Doppler-filter med frekvensrespons H (f) S (f). hvor S (f) angir ønsket Doppler-effektspektrum. Den filtrerte komplekse Gauss-prosessen interpoleres slik at dens prøveperiode er i overensstemmelse med inngangssignalets. En kombinasjon av lineær og polyfase interpolering brukes. Gjensidig ukorrelerte Rayleigh fading waveforms genereres ved å bruke metoden beskrevet i 2. der jeg 1 tilsvarer in-fase-komponenten og i 2 tilsvarer kvadraturkomponenten. z k (t) x03BC k (1) (t) j x03BC k (2) (t). x2003 k 1. 2. x2026. K x03BC k (i) (t) 2 N k x2211 n 1 N k cos (2 x03C0 f k. N (i) t x03B8 k. N (i)). x2003 i 1. 2 N k spesifiserer antall sinusoider som brukes til å modellere en enkelt bane. f k. n (i) er den diskrete Doppler-frekvensen og beregnes for hver sinusoidskomponent i en enkelt bane. x03B8 k. n (i) er fasen av nt-komponenten av x03BC k (i) og er en i. i.d. tilfeldig variabel med en jevn fordeling over intervallet (0,2 x03C0. t er fadingprosessiden. De diskrete Doppler-frekvensene, f k. n (i). med maksimal skift f max er gitt av f k. n (i) f max cos (x03B1 k. n (i)) f max cos x03C0 2 N k (n x 2212 1 2) x03B1 k. 0 (i) x03B1 k. 0 (i) x225C (x2212 1) i x2212 1 x03C0 4 N k x22C5 k K 2. x2003 i 1. x2009 2 x2009 x2009 og x2009 x2009 k 1. 2. x2026. K For å fremme fading-prosessen i tide, blir en innledende tidsparameter, t init. introdusert. Fading-bølgeformene blir x03BC k (i) (t) 2 N k x2211 n 1 N k cos (2 x03C0 f k. n (i) (ttinit) x03B8 k. n (i)). x2003 i 1. 2 Når t init 0 fading-prosessen starter ved nulltidspunktet. En positiv verdi av t init fremmer fadingprosessen i forhold til tiden null samtidig som den opprettholder kontinuiteten. Kanalfadingprøver genereres ved hjelp av GMEDS ​​1 2-algoritmen. Beregn komplekse koeffisienter Den komplekse prosessen som resulterer fra enten techniq ue, z k. er skalert for å oppnå den riktige gjennomsnittlige baneøkningen. In the case of a Rayleigh channel, the fading process is obtained as: a k x03A9 k z k x03A9 k E a k 2 In the case of a Rician channel, the fading process is obtained as: a k x03A9 k z k K r. k 1 K r. k K r. k 1 e j ( 2 x03C0 f d. L O S. k t x03B8 L O S. k ) where K r. k is the Rician K-factor of the k-th path, f d. L O S. k is the Doppler shift of the line-of-sight component of the k-th path (in Hz), and x03B8 L O S. k is the initial phase of the line-of-sight component of the k-th path (in rad). At the input to the band-limited multipath channel model, the transmitted symbols must be oversampled by a factor at least equal to the bandwidth expansion factor introduced by pulse shaping. For example, if sinc pulse shaping is used, for which the bandwidth of the pulse-shaped signal is equal to the symbol rate, then the bandwidth expansion factor is 1, and at least one sample per symbol is required at the input to the channel. If a raised cosine (RC) filter with a factor in excess of 1 is used, for which the bandwidth of the pulse-shaped signal is equal to twice the symbol rate, then the bandwidth expansion factor is 2, and at least two samples per symbol are required at the input to the channel. For additional information, see the article A Matlab-based Object-Oriented Approach to Multipath Fading Channel Simulation . located on MATLAB x00AE Central. References 1 Jeruchim, M. C. Balaban, P. and Shanmugan, K. S. Simulation of Communication Systems . Second Edition, New York, Kluwer AcademicPlenum, 2000. 2 Paumltzold, Matthias, Cheng-Xiang Wang, and Bjorn Olav Hogstand. Two New Sum-of-Sinusoids-Based Methods for the Efficient Generation of Multiple Uncorrelated Rayleigh Fading Waveforms. IEEE Transactions on Wireless Communications . Vol. 8, Number 6, 2009, pp. 312282113131. Specify Fading Channels Communications System Toolbox models a fading channel as a linear FIR filter. Filtering a signal using a fading channel involves these steps: Create a channel object that describes the channel that you want to use. A channel object is a type of MATLAB variable that contains information about the channel, such as the maximum Doppler shift. Adjust properties of the channel object, if necessary, to tailor it to your needs. For example, you can change the path delays or average path gains. Note: Setting the maximum path delay greater than 100 samples may generate an 8216Out of memory error. Apply the channel object to your signal using the filter function. This section describes how to define, inspect, and manipulate channel objects. The topics are: Select Your CountryCOMMERCIAL PROPANE RESIDENTIAL PROPANE OUTDOOR LIVING FORKLIFT CYLINDERS HEATING SEASON Houston Propane Company Greens Blue Flame Gas Co. Propane Service For Home, Business and Industry Propane is used in a number of applications, the most common being a heating fuel. While the Houston heating season is limited, our location, size and industrial presence brings an inherent need for propane in many capacities. Whether the demand for standby generator fuel increases due to a Gulf hurricane, or the unseasonal demand for home heating gas rises, Blue Flame Gas is prepared for meeting and exceeding the expectations of LP Gas users in the Houston area. In addition to propane tank installation, bulk commercial and residential delivery, we have unique capabilities that set us apart from the mainstream propane industry. Vi serverer propan kjøretøy flåter, propane gaffeltruck brukere og kan ofte jobbe på motorer som driver dem. Propane engine conversion is available at our location in northwest Houston where we can convert vehicles, generators and small engines for propane use. Vårt hovedkontor er også forsyningsstedet for våre bulkleveringsbobtails og hjem til vår service - og driftspersonale. Greens Blue Flame Gas Company is Houston based, family owned and service oriented. For ekstraordinær propan service, ring oss i dag. Servering Houston, Magnolia, Tomball, Waller, Hockley, Hempstead, Katy, Cypress og Pinehurst. Houston-Galveston Area Council opprettet Clean Air Champion-prisen for å gjenkjenne enhver bedrift, regjering eller organisasjon som opererer i Vår region som tar proaktive skritt for å forbedre luftkvaliteten. Opphavsretts kopi 2017 Greens Blue Flame Gas Company. Alle rettigheter reservert. Privacy Policy Sitemap Mon-Fri: 8am5pm Saturday: 8amNoon Sunday: Closed

No comments:

Post a Comment