Reliable 1 Gbit/s wireless link? - Page 1
Forum section: electronics / projects

author: cubeflake
author_rank: Contributor
timestamp: November 11, 2020, 04:42:18 pm
content: Hi all,For an arts project I need to transfer a continuous stream of about 1 Gbit/s to a (slowly) moving object. I'm looking at cable reels with slip rings and there's some that apparently can transfer gigabit ethernet, however they are quite pricey (€3k+).So I was thinking whether there is a way to do this wirelessly? 802.11ac promises speeds over 1 Gbit/s, however I am not sure if this will be reached in practice as well. Also, if there are other wifi networks around or there's a lot of cell phones in the area the signal might be disturbed. So maybe this is a bit too risky?I also found some 24 and 60 GHz point-to-point devices that look very interesting, although some of them are also quite pricey and I'm not sure if there's any licenses needed.for example:https://www.wifishop.nl/ignitenet-metrolinq-2-5g-60-ptp/pid=59278https://www.balticnetworks.com/complete-solutions/point-to-pointAny ideas?Jim

author: Miyuki
author_rank: Frequent Contributor
timestamp: November 11, 2020, 07:53:37 pm
content: You will need something like 802.11ax with 4×4 MIMOBut it is still pretty expensive beasts

author: Marco
author_rank: Super Contributor
timestamp: November 12, 2020, 10:37:15 am
content: The price for that 60 GHz solution doesn't seem far off from 802.11ax with multiple receivers and a multistream access point.Free space optics solution seem designed for much more stable links and 5 GHz is more likely to have congestion.

author: HB9EVI
author_rank: Frequent Contributor
timestamp: November 12, 2020, 12:23:15 pm
content: never reach more than ~600Mbits with my 3x3 MIMO 802.11ac on 5,5GHzit's a common misunderstanding between nominal and effective speed; personally I wouldn't expect too much from the 60GHz wifi since its propagation properties through ceilings and walls will be rather poor, so it'll require a higher density of APs

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 12, 2020, 12:35:26 pm
content: Could look into MIMO Homeplug modified to work over a pair of DIY rotary transformers.

author: dmills
author_rank: Super Contributor
timestamp: November 12, 2020, 12:56:54 pm
content: Old video machine head drums my man, precise (REALLY precise) with slip rings built right in.Worth a shot anyway.

author: fcb
author_rank: Super Contributor
timestamp: November 12, 2020, 01:25:22 pm
content: Secondhand FORJ (fibre optic rotary joint)?Roll your own with multimode connectors or expanded beam optics?https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=12397

author: TheMG
author_rank: Frequent Contributor
timestamp: November 12, 2020, 02:20:59 pm
content: I'd look into ways to reduce (compress) the data stream. What is it that you're sending anyways? With that kind of data rate, I'm assuming some kind of raw uncompressed video stream?

author: ConKbot
author_rank: Super Contributor
timestamp: November 12, 2020, 03:22:44 pm
content: A single channel fiber optic rotary joint even it's it's multimode may be able to be abused into service with standard single-mode bidirectional SFP modules (poor return loss, multipath dispersion would be bad, but you're only going a few meters instead of hundreds/thousands), though a single mode rotary joint would be preferred.I haven't priced them out though, but id imagine under 3k is doable. Might be able to beat it with wireless, but its a path to consider.

author: borjam
author_rank: Unknown
timestamp: November 12, 2020, 03:51:54 pm
content: Cheap and it works: Mikrotik's 60 GHz solution. It can sustain full duplex 1 Gbps without issues. It's called Wireless Wire.And it comes preconfigured, plug and go.However, it needs a clear line of sight. Any obstacle will attenuate the 5 mm wavelength.What distance do you need to cover?Also, I am not sure about movement. I know it uses phased array antennas so in theory it would adapt.

author: Yansi
author_rank: Super Contributor
timestamp: November 12, 2020, 04:20:15 pm
content: Quote from: dmills on November 12, 2020, 12:56:54 pmNot sliprings, but rotary transformer with a tiny tiny airgap.

author: drussell
author_rank: Super Contributor
timestamp: November 12, 2020, 04:52:05 pm
content: What kind ofmotionare we talking about here?Perhaps if the OP described the actual apparatus in a little more detail we could provide some more helpful suggestions, rather than just stabbing wildly in the dark!

author: cubeflake
author_rank: Contributor
timestamp: November 18, 2020, 10:49:07 pm
content: Wow, didn't expect so many replies, awesome! Sorry for replying so late. I'll share a bit more details about the project. I can't be too specific but I hope this explains enough.We will have a structure (about 10 m wide) hanging from the ceiling. We will have about 15.000 LEDs that we want to control at as high a framerate as possible (to make animations look super smooth). The APA102 LEDs that we will use can refresh at over a 1000 fps (if the strips are not too long) so as a first rough design target, I'm aiming to run the whole thing at 1000 fps. Multiplying that by the amount of data we need per frame, I calculated I would need approximately 1 Gb/s. We could most likely compress the data by a factor of 10 with some effort, but if I can just send a gigabit stream than that would be easier and simpler to debug.The structure is hanging from winches that will rotate and translate the object. The movement will always be pretty slow, maybe around 0.2 m/s maximum. The maximum range of motion is also about 10 m. It's no problem to always have a line of sight. If we go for a wireless option, the transceivers would probably be at least 10 m apart, and at most about 20 m apart.I'm glad to read the MicroTik solution works reliably, I'll read up on how they perform with moving targets. I could position the transceivers such that the movement is minimal. They are very cheap and apparently plug-and-play so they are looking quite attractive right now. After reading the replies here, I would like to avoid a 5 GHz solution.I also looked into rotary optical joints, however I couldn't find one that I can just plug an ethernet cable into. I could put a fiber converter on both ends but it would probably also mean more work and more troubleshooting. However as some people said there are other kind of "slip rings" to transfer data so if the 60 GHz solution doesn't work out then this is probably the next thing to research. A homeplug over a 230V slip ring is also an interesting option to look at, although I worry the slip ring would maybe introduce short interruptions in the signal if the slip ring isn't perfectly smooth.Thanks again for all the helpful replies! I'll make sure to report back on what I picked and how it performed.

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 18, 2020, 11:27:35 pm
content: What's generating the patterns? Might be easier to put that on the moving platform and then you'll have a much lower bandwidth needed to control it.

author: cubeflake
author_rank: Contributor
timestamp: November 19, 2020, 09:32:22 am
content: The way I'm thinking of it now, they will be live generated by the PC of the artist who is on the ground. This allows us maximal flexibility on what patterns we want to display, as we don't know yet what will look cool. You are right though, generating the patterns on the object itself would solve the problem too.

author: tszaboo
author_rank: Super Contributor
timestamp: November 19, 2020, 09:55:35 am
content: Probably you should talk to Mike,http://www.electricstuff.co.ukHis day job is LED art installations.You should consult him about what works and what doesn't.

author: Siwastaja
author_rank: Super Contributor
timestamp: November 19, 2020, 09:58:46 am
content: 1000FPS doesn't make sense unless you target flies instead of human beings. If it's just single bits and you want to do dither / PWM to control brightness that way, 1000FPS is too little. If you supply full intensity values (say 8 bits or more), 1000FPS is then way more than necessary.Around 100FPS will give you perfectly smooth motion. Most (like 99.99%) people would see 50FPS already as perfectly smooth but if the smoothness is going to be important, I understand you want to add some margin to it. 1000FPS is still just nuts.You may want to use high SPI clock rates to the LED chains so they update as close in time as possible, though, but that's best handled inside the moving installation.At 24 bits per pixel, 15000 pixels and 100FPS the required data rate would be 36 Mbits/s, far from the initially assumed 1Gbit/s.If this is something to be shown publicly, I wouldn't still trust WiFi at all. It will almostcompletelydie (or drop to faw below 1Mbit/s) for tens of seconds or minutes when a large group of people with all hotspots turned on walk by. I've seen this when demonstrating an IoT device publicly.

author: borjam
author_rank: Unknown
timestamp: November 19, 2020, 10:14:04 am
content: Quote from: cubeflake on November 18, 2020, 10:49:07 pmRemember that the throughput you get with wireless networks is roughly half the signalling rate. So if your network is offering 1.5 Gbps you will actually get half of it and in half duplex.These puppies link at 2.5 Gbps and I have tried to saturate it with full duplex 1 Gbps. They performed briliantly. And at 200 euro a pair it's a steal.A good test is my brother. He works for a company specializing on live events (stage rigging, audio, video, lighting...) and he asked me for a solution. He ordered them and I didn't get a single phone call from him. I asked how did it work and he told me "I didn't expect that. I just plugged, aimed, and voila, it worked. It was so good our customer insisted us to sell him that same pair, he wanted to keep them.Big advantage of the 60 GHz band is, there is no interference. Walls suppress it and atmospheric Oxygen adds attenuation. So even if a neighbor was using the same band interference would hardly be a problem.Ubiquiti is now developing some 60 GHz equipment with a 5 GHz backup as well. Pricier but it includes the 5 GHz backup radios.

author: borjam
author_rank: Unknown
timestamp: November 19, 2020, 10:27:07 am
content: Quote from: blueskull on November 19, 2020, 10:12:08 amYes, I think you are rightThat said, the 60 GHz link will provide the smoothest option.

author: Yansi
author_rank: Super Contributor
timestamp: November 19, 2020, 10:33:39 am
content: If the structure is hanging from the ceiling, doubt it will be battery powered. Why not cabling the data in?

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 19, 2020, 01:53:18 pm
content: Quote from: blueskull on November 19, 2020, 10:12:08 amTrivial to store the pattern in RAM and just DMA it out. That's what iperf does.QuoteHDR displays do 30bpp or more and there is a significant difference from conventional LCDs. Granted, there are displays that are "HDR" only in marketing and there are true HDR displays.QuoteCost cutting to that extent would not save a meaningful amount on the whole system, well into diminishing returns and losing flexibility for future expansion. Most likely the best balance between cost and flexibility would be a Zynq dev board. It has an embedded Linux system so no need to implement Ethernet in the FPGA and the FPGA part is used as a bridge between the embedded Linux and the LEDs. The built in embedded Linux makes it easy to debug the FPGA side from remote - all you need is a PC!

author: Berni
author_rank: Super Contributor
timestamp: November 19, 2020, 02:06:57 pm
content: As was mentioned above askhttp://www.electricstuff.co.ukabout it, he does this for a living.But 1000fps seams kinda silly. 60 fps is the most you ever need really. Maybe some people with a trained eye could tell if its running at 120Hz but above that humans can't see any difference anymore.

author: cubeflake
author_rank: Contributor
timestamp: November 19, 2020, 05:21:45 pm
content: I agree 1000 fps is stupidly fast, but 60 fps is not nearly the upper limit for people. I've done tests myself where I was able to pick up on flicker up to 500 Hz. I regularly notice that lighting looks a tiny bit "off". When filming it with my phone (960 fps) they invariable do, indeed, flicker. You can't really see it when looking straight at it, but if you move your eyes around you can pick it up.Also, we will probably do live envelope following (i.e. amplitude modulating LED intensity with sound) a musician playing. The latency of the LEDs will on average be half the inter-frame time and at most the full inter-frame time. So running at 100 fps, you'll have up to 10 ms of latency which is starting to become noticeable for a musician. This latency comes on top of any other latency we have in the system, so we'd like to keep it as small as possible.I agree that using 24 bits of data per led is overkill, especially since we are using white LEDs. 16 bits would most likely be more than enough, this would bring the data rate (at 1000 fps) to 240 Mbps.Considering the MicroTik solution seems reliable at gigabit speeds, the generation of data will probably be the limiting factor. I'll need to discuss with the artists as I don't know much about their side of things.I'll send Mike Harrison an e-mail too, thanks for the suggestion.Cheers guys!

author: Berni
author_rank: Super Contributor
timestamp: November 19, 2020, 05:50:15 pm
content: Pulsing a light at 60Hz is NOT the same as updating the brightness of a light at 60Hz!You indeed see pulsing at >200Hz when the object is moved around to leave an interrupted trace across your eyes field of view. A camera will see pulsing at >1000Hz if you run it at a, particularly fast shutter speed. Try just updating a LED in a fading pattern between current levels at 60Hz and try to tell the difference between 1000Hz.But there is no need to tie your LED PWM frequency to the framerate. You can PWM your LEDs at 1MHz if you want (Tho good luck getting 16bit resolution at that speed) while they only update the PWM duty cycle at 100Hz, if you want to also mask the steppynes from being seen on high speed video footage you can also employ smoothing between frames in the LED controller using cosine interpolation.But what about latency! I want to sync to my music! Can't have 10ms of delay between the beat and the LED lighting up! Well... in that case, the LED array is not your problem. It is the speed of sound that is the problem. If your viewer moves away from your speaker by 3.5m they will get an additional 10ms delay. So if you wanted to get them closer in sync with the audio that would require either putting your audience under water (Faster speed of sound alowing for up to 15m) or implement a targeted phased array sound system that creates a unique forward in time shifted sound in each area of the room to compensate for the delay.

author: Siwastaja
author_rank: Super Contributor
timestamp: November 19, 2020, 06:50:00 pm
content: You are mixing up data update rate (frame rate) with the flicker. The flicker you can't control, it's defined by the internal PWM frequency of the APA102, which is unadjustable, and unspecified.If I missed something and you are building something out of discrete LEDs and your own control logic, then you definitely want to put the brightness control (simply PWM, or something more advanced)onthat moving thing, right next to the LEDs, and only deliver brightness values (8 bits per color per pixel for example).Against blueskull's comments, for PWM control 8 bits per channel highly advised as bare minimum. This is linear, not gamma corrected; 8 bits gamma corrected RGB corresponds to approx. 10 bits linear, which the crappy cheap LCDs then dither to the 6 bits of the actual pixels by alternatively showing the neighbor values. As a result, if you want good rendition of dark and light scenes, you want to have 10-bit linear colorspace (or 8-bit gamma corrected), this is the classic industry standard for video and it's not even nearly good enough for "videophiles".If this is of no interest in your application, just use 8 bits, it's worse than "standard" video but likely good enough and a very easy design choice.You don't even save almost any bandwidth by getting rid of a bit or two. Obviously, if you have only white LEDs, then you have one channel of 8 bits, not 3x8=24 bits.

author: cubeflake
author_rank: Contributor
timestamp: November 20, 2020, 09:38:03 am
content: Good point about pulsing not being the same as fading. Pulsing is the worst-case scenario and not interesting to look at. Running at 200 Hz should most likely be smooth enough for anything realistic.Also great point about the speed of sound, thanksOur musician will be using monitors or headphones so he won't have much of a delay. I'll have to think more about the experience of the audience though.I wasn't confusing the PWM rate with the update rate of the system. The PWM rate of these LEDs is fixed at 20 kHz. These chips have three white LEDs in them so they do in fact have three 8-bit channels. Of course, our eyes cannot discern 16.78 million different intensity levels so we'll probably send a 10 or 12 (maybe 16) bit value and map that to the 24-bit value on the device. Running at 200 Hz with 12 bits resolution will bring the datarate down to about 43 Mbps which seems easily doable.I still think I will go for the MicroTik solution, as even a 100 Mbps slip ring is more expensive.

author: Berni
author_rank: Super Contributor
timestamp: November 20, 2020, 11:03:08 am
content: That does sound like a much more reasonable datarate. At this point something like 5GHz WiFi could do the job, but the Mikrotik point to point link does sound like a better option still. At least using only a small part of the bandwidth should also make it more reliable since wireless is still wireless after all.At least you don't have to be too worried about lost packets, just send it over UDP and skip any LED channels that got lost since they will get updated on the next frame anyway.

author: NiHaoMike
author_rank: Super Contributor
timestamp: November 20, 2020, 01:04:26 pm
content: Quote from: Berni on November 20, 2020, 11:03:08 amWith spare bandwidth available, implement erasure coding as a form of FEC.https://en.wikipedia.org/wiki/Erasure_code