WebGPU आधारित WiFi सिम्युलेटर
(wifi-solver.com)- घर की बनावट और सामग्री के अनुसार बदलने वाली WiFi सिग्नल स्ट्रेंथ को physics-based तरीके से calculate करके router की जगह चुनने में मदद करने वाला web simulator
- simulation यूज़र के device पर real-time local execution के रूप में चलती है, और background simulation के रंग या speed को बदलकर देखा जा सकता है
- असली घरों के floor plan और दीवारों/खिड़कियों की materials लागू करके example simulation चलाई जा सकती है, और demo video व documentation भी साथ में दिए गए हैं
- electromagnetic waves materials से होकर कैसे travel करती हैं, इसे सीधे calculate करता है, और text box के आसपास waves के refraction का example दिखाता है
- computation-heavy तरीका होने के कारण WebGPU से graphics card का इस्तेमाल करके browser में simulation को तेज़ चलाता है
Router की जगह चुनने के लिए WiFi simulation
- WiFi Solver एक simulation engine है जो दिखाता है कि घर के अंदर access point का WiFi signal कैसे फैलता है
- घर की WiFi signal strength calculate करके WiFi router कहाँ रखना है, यह तय करने पर focus करता है
- सभी simulations यूज़र के device पर live run होती हैं
- असली home floor plans और दीवारों/खिड़कियों के realistic materials लागू किए गए examples चलाए जा सकते हैं
- demo video में कुछ features देखे जा सकते हैं, और अधिक जानकारी documentation में मिल सकती है
- एक दिन के लिए try किया जा सकता है, या one-time payment से permanent access पाया जा सकता है
Physics calculation और WebGPU का उपयोग
- WiFi Solver electromagnetic waves के materials से होकर travel करने के तरीके को minimum approximation के साथ सीधे simulate करता है
- page scroll करने पर waves को text box के आसपास refract होते देखा जा सकता है
- यह approach computationally expensive है, इसलिए WebGPU का उपयोग करके graphics card का फायदा लिया जाता है और simulation speed बढ़ाई जाती है
- नीचे background simulation में नया source जोड़ा जा सकता है
- creator का अन्य काम blog पर देखा जा सकता है
1 टिप्पणियां
Hacker News पर राय
विज़ुअलाइज़ेशन शानदार है, लेकिन 6–12.5cm wavelength के वास्तविक coverage pattern की तुलना में यह लहरों पर ही ज़्यादा केंद्रित है, इसलिए coverage देखने के लिए दूसरे tools की तुलना में कम उपयोगी है
फिर भी art project के तौर पर मज़ेदार है, और WebGL support करने वाला open source Milkdrop, projectM https://github.com/projectM-visualizer/projectm/blob/master/... और शुरुआती मूल projects में से एक Geisswerks https://www.geisswerks.com/ भी याद आते हैं
अगर आपको ऐसी चीज़ें पसंद हैं, तो VJ के लिए music visualization और dome interior projection capability वाला NestDrop भी पसंद आ सकता है https://nestimmersion.ca/nestdrop.php
एक bug है: “add a new source” button को बार-बार दबाने पर fixed maximum size 128 वाला array overflow हो जाता है और screen पर JavaScript exception दिखता है
साथ ही, शायद यह सिर्फ AMD cards पर हो, लेकिन text box की वजह से scroll को किसी खास तरीके से हिलाने पर simulation टूट जाता है। जल्दी-जल्दी Page Up/Down करने पर या सबसे नीचे तक जाकर scroll position को हिलाने पर खराब data फैलता है और पूरी screen noise, black, white से भर जाती है; 3D mode में ले जाने पर polygons की अफरा-तफरी हो जाती है
“Scroll करने पर text box के आसपास waves refract होती दिखती हैं” — बेकार होते हुए भी काफी stylish feature है
पहले मैं sound के साथ कुछ ऐसा ही बनाना चाहता था। Headphones नहीं, बल्कि room के अंदर active noise cancellation के लिए, mic और speaker को मिलाने वाले devices को strategic locations पर रखने का विचार था
थोड़ा सोचने पर लगा कि interference की वजह से कुछ quiet zones और कुछ ऐसे zones बन सकते हैं जहाँ sound double हो जाए, इसलिए यह ideal नहीं होगा, लेकिन दिलचस्प जरूर था। और सोचने पर समझ आया कि इसे 3D में handle करना पड़ेगा, जिससे setup complexity बहुत बढ़ जाएगी। Refraction effects देखते हुए लगता है कि यहां भी कुछ वैसा ही लागू होगा
हालांकि यह सिर्फ दूर के speakers जैसी कम directional ordinary sound पर काम करेगा, और इंसानी speech जैसी चीज़ों को हटाना मुश्किल होगा। Clubs में हर table पर सामान्य बातचीत संभव कराने के लिए यह काफी उपयोगी हो सकता है। समस्या यह है कि related technology अभी patents में बंधी हुई है, और बनाना काफी आसान होने पर भी patent expire होने का इंतजार करना होगा या license fee देनी होगी
Visualization वाला हिस्सा सचमुच शानदार है। Multiple transmitters को handle करने वाला भाग और scroll के end वाला हिस्सा beamforming दिखाने वाले https://apenwarr.ca/beamlab/ की याद दिलाता है
इस demo में flow देखने का सबसे आसान तरीका है right menu में 3 को बंद करके सिर्फ 2 transmitters रखना, फिर “r” button दबाना और click या drag करके beam optimize होते देखना। दाईं ओर received power gain statistics भी देख सकते हैं
देखने में यह demo सबसे मज़ेदार है, लेकिन घर का Wi‑Fi placement optimize करना चाहने वालों के लिए Hamina free tier शायद कहीं ज्यादा उपयोगी होगा https://www.hamina.com/planner
कमी यह है कि यह account बनाने को कहता है, और फायदा यह है कि सामान्य Wi‑Fi metrics और features के हिसाब से कई summary views देता है, इसलिए wave simulation itself दिखाने पर कम जोर देता है
नीचे वाले add new source link को बहुत ज्यादा दबाने पर Unexpected Application Error आ गया
मुख्य error
RangeError: offset is out of boundsहै, और यहFloat32Array.set()औरPi.makeUniformBufferमें होता है https://wifi-solver.com/dist/bundle-UKQ5A5W6.js:32:118833इसी तरह का एक और दिलचस्प project https://cemsim.com/ भी है। इसे मैंने नहीं बनाया है
यहां मैं SDR wireless processing की उम्मीद कर रहा था, यानी GPIO से read किया गया noise pipe करके web browser में भेजना और all channel activity को एक साथ दिखाना
Alienware M15 Ryzen Ed. R5 पर Waveguide Simulator demo चलाने पर laptop से साफ high-pitched trembling sound आती है
RTX 3070, Windows 11 Pro, Chrome v129 environment है, और शुरू में लगा कि speaker की आवाज़ है, लेकिन volume कम करने पर भी simulator चलने तक आवाज़ आती रही। Games या दूसरे WebGPU demos में नहीं सुनी, और realistic home simulation फिर अलग sound pattern पैदा करता है
https://en.wikipedia.org/wiki/Electromagnetically_induced_ac...
Games में नहीं सुनाई देने की वजह यह हो सकती है कि game audio ज्यादा loud होता है, या power pattern में ऐसी audible frequency नहीं होती। CPU power circuit भी ऐसा कर सकता है, लेकिन चूंकि यह GPU इस्तेमाल कर रहा है, इसलिए GPU side मानना सुरक्षित है
600fps के बाद वाले workloads में यह काफी common है
मैं Wifi 6E router इस्तेमाल कर रहा हूं, इसलिए सोच रहा हूं कि यहां 6GHz, 5GHz, 2.4GHz noticeably अलग तरह से behave करते हैं या नहीं। क्या overall shape वही रहती है, या frequency बड़ा difference बनाती है, यह जानना चाहता हूं