Help
RSS
API
Feed
Maltego
Contact
Domain > aerospaceresearch.net
×
Welcome!
Right click nodes and scroll the mouse to navigate the graph.
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2013-09-11
141.70.124.33
(
ClassC
)
2024-11-14
88.198.153.154
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: nginx/1.18.0Date: Thu, 14 Nov 2024 16:02:44 GMTContent-Type: text/htmlContent-Length: 169Connection: keep-aliveLocation: https://aerospaceresearch.net/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/1.18.0/center>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginx/1.18.0Date: Thu, 14 Nov 2024 16:02:44 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveLink: https://aerospaceresearch.net/index.php?rest_route/>; relhttps://api.w.org/ !DOCTYPE html>html langde classno-js>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1> link relprofile hrefhttps://gmpg.org/xfn/11> script>(function(html){html.className html.className.replace(/\bno-js\b/,js)})(document.documentElement);/script>title>aerospaceresearch.net/title>meta namerobots contentmax-image-preview:large />link reldns-prefetch href//aerospaceresearch.net />link relalternate typeapplication/rss+xml titleaerospaceresearch.net » Feed hrefhttps://aerospaceresearch.net/?feedrss2 />link relalternate typeapplication/rss+xml titleaerospaceresearch.net » Kommentar-Feed hrefhttps://aerospaceresearch.net/?feedcomments-rss2 />script>window._wpemojiSettings {baseUrl:https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/,ext:.png,svgUrl:https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/,svgExt:.svg,source:{concatemoji:https:\/\/aerospaceresearch.net\/wp-includes\/js\/wp-emoji-release.min.js?ver6.2.6}};/*! This file is auto-generated */!function(e,a,t){var n,r,o,ia.createElement(canvas),pi.getContext&&i.getContext(2d);function s(e,t){p.clearRect(0,0,i.width,i.height),p.fillText(e,0,0);ei.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(t,0,0),ei.toDataURL()}function c(e){var ta.createElement(script);t.srce,t.defert.typetext/javascript,a.getElementsByTagName(head)0.appendChild(t)}for(oArray(flag,emoji),t.supports{everything:!0,everythingExceptFlag:!0},r0;ro.length;r++)t.supportsorfunction(e){if(p&&p.fillText)switch(p.textBaselinetop,p.font600 32px Arial,e){caseflag:return s(\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f,\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f)?!1:!s(\ud83c\uddfa\ud83c\uddf3,\ud83c\uddfa\u200b\ud83c\uddf3)&&!s(\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f,\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f);caseemoji:return!s(\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff,\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff)}return!1}(or),t.supports.everythingt.supports.everything&&t.supportsor,flag!or&&(t.supports.everythingExceptFlagt.supports.everythingExceptFlag&&t.supportsor);t.supports.everythingExceptFlagt.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady!1,t.readyCallbackfunction(){t.DOMReady!0},t.supports.everything||(nfunction(){t.readyCallback()},a.addEventListener?(a.addEventListener(DOMContentLoaded,n,!1),e.addEventListener(load,n,!1)):(e.attachEvent(onload,n),a.attachEvent(onreadystatechange,function(){completea.readyState&&t.readyCallback()})),(et.source||{}).concatemoji?c(e.concatemoji):e.wpemoji&&e.twemoji&&(c(e.twemoji),c(e.wpemoji)))}(window,document,window._wpemojiSettings);/script>style>img.wp-smiley,img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important;}/style> link relstylesheet idwp-block-library-css hrefhttps://aerospaceresearch.net/wp-includes/css/dist/block-library/style.min.css?ver6.2.6 mediaall />style idwp-block-library-theme-inline-css>.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video{margin:0 0 1em}.wp-block-template-part.has-background{margin-bottom:0;margin-top:0;padding:1.25em 2.375em}/style>link relstylesheet idclassic-theme-styles-css hrefhttps://aerospaceresearch.net/wp-includes/css/classic-themes.min.css?ver6.2.6 mediaall />style idglobal-styles-inline-css>body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #1a1a1a;--wp--preset--color--medium-gray: #686868;--wp--preset--color--light-gray: #e5e5e5;--wp--preset--color--blue-gray: #4d545c;--wp--preset--color--bright-blue: #007acc;--wp--preset--color--light-blue: #9adffd;--wp--preset--color--dark-brown: #402b30;--wp--preset--color--medium-brown: #774e24;--wp--preset--color--dark-red: #640c1f;--wp--preset--color--bright-red: #ff675f;--wp--preset--color--yellow: #ffef8e;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url(#wp-duotone-dark-grayscale);--wp--preset--duotone--grayscale: url(#wp-duotone-grayscale);--wp--preset--duotone--purple-yellow: url(#wp-duotone-purple-yellow);--wp--preset--duotone--blue-red: url(#wp-duotone-blue-red);--wp--preset--duotone--midnight: url(#wp-duotone-midnight);--wp--preset--duotone--magenta-yellow: url(#wp-duotone-magenta-yellow);--wp--preset--duotone--purple-green: url(#wp-duotone-purple-green);--wp--preset--duotone--blue-orange: url(#wp-duotone-blue-orange);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}/style>link relstylesheet idtwentysixteen-fonts-css hrefhttps://aerospaceresearch.net/wp-content/themes/twentysixteen/fonts/merriweather-plus-montserrat-plus-inconsolata.css?ver20230328 mediaall />link relstylesheet idgenericons-css hrefhttps://aerospaceresearch.net/wp-content/themes/twentysixteen/genericons/genericons.css?ver20201208 mediaall />link relstylesheet idtwentysixteen-style-css hrefhttps://aerospaceresearch.net/wp-content/themes/twentysixteen/style.css?ver20230328 mediaall />link relstylesheet idtwentysixteen-block-style-css hrefhttps://aerospaceresearch.net/wp-content/themes/twentysixteen/css/blocks.css?ver20230206 mediaall />!--if lt IE 10>link relstylesheet idtwentysixteen-ie-css hrefhttps://aerospaceresearch.net/wp-content/themes/twentysixteen/css/ie.css?ver20170530 mediaall />!endif-->!--if lt IE 9>link relstylesheet idtwentysixteen-ie8-css hrefhttps://aerospaceresearch.net/wp-content/themes/twentysixteen/css/ie8.css?ver20170530 mediaall />!endif-->!--if lt IE 8>link relstylesheet idtwentysixteen-ie7-css hrefhttps://aerospaceresearch.net/wp-content/themes/twentysixteen/css/ie7.css?ver20170530 mediaall />!endif-->!--if lt IE 9>script srchttps://aerospaceresearch.net/wp-content/themes/twentysixteen/js/html5.js?ver3.7.3 idtwentysixteen-html5-js>/script>!endif-->script srchttps://aerospaceresearch.net/wp-includes/js/jquery/jquery.min.js?ver3.6.4 idjquery-core-js>/script>script srchttps://aerospaceresearch.net/wp-includes/js/jquery/jquery-migrate.min.js?ver3.4.0 idjquery-migrate-js>/script>link relhttps://api.w.org/ hrefhttps://aerospaceresearch.net/index.php?rest_route/ />link relEditURI typeapplication/rsd+xml titleRSD hrefhttps://aerospaceresearch.net/xmlrpc.php?rsd />link relwlwmanifest typeapplication/wlwmanifest+xml hrefhttps://aerospaceresearch.net/wp-includes/wlwmanifest.xml />meta namegenerator contentWordPress 6.2.6 />style>.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}/style>/head>body classhome blog wp-embed-responsive group-blog hfeed>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-dark-grayscale>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0 0.49803921568627 />feFuncG typetable tableValues0 0.49803921568627 />feFuncB typetable tableValues0 0.49803921568627 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-grayscale>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0 1 />feFuncG typetable tableValues0 1 />feFuncB typetable tableValues0 1 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-purple-yellow>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0.54901960784314 0.98823529411765 />feFuncG typetable tableValues0 1 />feFuncB typetable tableValues0.71764705882353 0.25490196078431 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-blue-red>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0 1 />feFuncG typetable tableValues0 0.27843137254902 />feFuncB typetable tableValues0.5921568627451 0.27843137254902 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-midnight>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0 0 />feFuncG typetable tableValues0 0.64705882352941 />feFuncB typetable tableValues0 1 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-magenta-yellow>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0.78039215686275 1 />feFuncG typetable tableValues0 0.94901960784314 />feFuncB typetable tableValues0.35294117647059 0.47058823529412 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-purple-green>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0.65098039215686 0.40392156862745 />feFuncG typetable tableValues0 1 />feFuncB typetable tableValues0.44705882352941 0.4 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 0 0 width0 height0 focusablefalse rolenone stylevisibility: hidden; position: absolute; left: -9999px; overflow: hidden; >defs>filter idwp-duotone-blue-orange>feColorMatrix color-interpolation-filterssRGB typematrix values .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 />feComponentTransfer color-interpolation-filterssRGB >feFuncR typetable tableValues0.098039215686275 1 />feFuncG typetable tableValues0 0.66274509803922 />feFuncB typetable tableValues0.84705882352941 0.41960784313725 />feFuncA typetable tableValues1 1 />/feComponentTransfer>feComposite in2SourceGraphic operatorin />/filter>/defs>/svg>div idpage classsite> div classsite-inner> a classskip-link screen-reader-text href#content> Zum Inhalt springen /a> header idmasthead classsite-header> div classsite-header-main> div classsite-branding> h1 classsite-title>a hrefhttps://aerospaceresearch.net/ relhome>aerospaceresearch.net/a>/h1> /div>!-- .site-branding --> button idmenu-toggle classmenu-toggle>Menü/button> div idsite-header-menu classsite-header-menu> nav idsite-navigation classmain-navigation aria-labelPrimäres Menü> div classmenu-header-container>ul idmenu-header classprimary-menu>li idmenu-item-220 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-220>a hrefhttps://aerospaceresearch.net/?page_id7>making/a>ul classsub-menu> li idmenu-item-1899 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1899>a hrefhttps://aerospaceresearch.net/?page_id1895>Discoveries/a> ul classsub-menu> li idmenu-item-1901 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1901>a hrefhttps://aerospaceresearch.net/?page_id1874>Can a GoPro camera be used to optically track satellites?/a>/li> li idmenu-item-2115 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-2115>a hrefhttps://aerospaceresearch.net/?page_id2111>How to calibrate your SDR aka what’s my frequency?/a>/li> li idmenu-item-2316 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-2316>a hrefhttps://aerospaceresearch.net/?page_id2310>Optical satellite detection with Python or how to find all SpaceX #Transporter2 mission satellites with a Sony A7S camera/a>/li> /ul>/li> li idmenu-item-1900 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1900>a hrefhttps://aerospaceresearch.net/?page_id1896>Projects/a> ul classsub-menu> li idmenu-item-1125 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1125>a hrefhttps://aerospaceresearch.net/?page_id1122>Distributed Ground Station Network/a> ul classsub-menu> li idmenu-item-1115 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1115>a hrefhttps://aerospaceresearch.net/?page_id1095>Antenna Rotators/a>/li> /ul>/li> li idmenu-item-1133 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1133>a hrefhttps://aerospaceresearch.net/?page_id1130>OrbitDeterminator/a>/li> li idmenu-item-1134 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1134>a hrefhttps://aerospaceresearch.net/?page_id1128>DirectDemod/a>/li> /ul>/li>/ul>/li>li idmenu-item-221 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-221>a hrefhttps://aerospaceresearch.net/?page_id9>space/a>ul classsub-menu> li idmenu-item-1114 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1114>a hrefhttps://aerospaceresearch.net/?page_id1103>Coding Campaigns/a> ul classsub-menu> li idmenu-item-1855 classmenu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1855>a hrefhttps://aerospaceresearch.net/?cat1>GSOC and GCI/a> ul classsub-menu> li idmenu-item-2184 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-2184>a hrefhttps://aerospaceresearch.net/?page_id2156>GSOC2021 ideas for AerospaceResearch.net + ep2lab of Carlos III University of Madrid/a>/li> li idmenu-item-1857 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1857>a hrefhttps://aerospaceresearch.net/?page_id1840>GSOC2020 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + ep2lab of Carlos III University of Madrid/a>/li> li idmenu-item-1859 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1859>a hrefhttps://aerospaceresearch.net/?page_id1111>GSOC2019 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart + ep2lab of Carlos III University of Madrid/a>/li> li idmenu-item-1118 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1118>a hrefhttps://aerospaceresearch.net/?page_id612>GSOC2018 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart/a>/li> li idmenu-item-1117 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1117>a hrefhttps://aerospaceresearch.net/?page_id1033>Google Code In 2018 with AerospaceResearch.net/a>/li> li idmenu-item-1120 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1120>a hrefhttps://aerospaceresearch.net/?page_id202>GSOC2017 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart/a>/li> li idmenu-item-1121 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1121>a hrefhttps://aerospaceresearch.net/?page_id6>GSOC2016 ideas for AerospaceResearch.net/a>/li> /ul>/li> li idmenu-item-1856 classmenu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1856>a hrefhttps://aerospaceresearch.net/?cat1>ESA SOCIS/a> ul classsub-menu> li idmenu-item-1858 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1858>a hrefhttps://aerospaceresearch.net/?page_id1229>SOCIS2019 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart + ep2lab of Carlos III University of Madrid/a>/li> li idmenu-item-1119 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1119>a hrefhttps://aerospaceresearch.net/?page_id278>ESA SOCIS017 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart/a>/li> li idmenu-item-1861 classmenu-item menu-item-type-post_type menu-item-object-post menu-item-1861>a hrefhttps://aerospaceresearch.net/?p152>ESA SOCIS2016 ideas for AerospaceResearch.net/a>/li> /ul>/li> /ul>/li>/ul>/li>li idmenu-item-222 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-222>a hrefhttps://aerospaceresearch.net/?page_id11>together/a>ul classsub-menu> li idmenu-item-1143 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1143>a hrefhttps://aerospaceresearch.net/?page_id1140>Participation/a>/li> li idmenu-item-230 classmenu-item menu-item-type-post_type menu-item-object-page menu-item-230>a hrefhttps://aerospaceresearch.net/?page_id57>Impressum/a>/li>/ul>/li>/ul>/div> /nav>!-- .main-navigation --> nav idsocial-navigation classsocial-navigation aria-labelSocial-Links-Menü> div classmenu-socialmedia-container>ul idmenu-socialmedia classsocial-links-menu>li idmenu-item-223 classmenu-item menu-item-type-custom menu-item-object-custom menu-item-223>a hrefhttps://github.com/aerospaceresearch/>span classscreen-reader-text>github/aerospaceresearch/span>/a>/li>li idmenu-item-224 classmenu-item menu-item-type-custom menu-item-object-custom menu-item-224>a hrefhttp://twitter.com/ardnnews>span classscreen-reader-text>twitter/ardnnews/span>/a>/li>li idmenu-item-225 classmenu-item menu-item-type-custom menu-item-object-custom menu-item-225>a hrefhttps://www.youtube.com/channel/UCV3bE5J62o3yT2mh7TxMICw>span classscreen-reader-text>youtube/AerospaceResearch.net/span>/a>/li>li idmenu-item-226 classmenu-item menu-item-type-custom menu-item-object-custom menu-item-226>a hrefhttps://www.facebook.com/AerospaceResearch.net/?frefts>span classscreen-reader-text>facebook/AerospaceResearch.net/span>/a>/li>li idmenu-item-233 classmenu-item menu-item-type-custom menu-item-object-custom menu-item-233>a hrefhttps://plus.google.com/communities/103284191158859493054>span classscreen-reader-text>google+/AerospaceResearch/span>/a>/li>/ul>/div> /nav>!-- .social-navigation --> /div>!-- .site-header-menu --> /div>!-- .site-header-main --> /header>!-- .site-header --> div idcontent classsite-content> div idprimary classcontent-area> main idmain classsite-main> article idpost-2419 classpost-2419 post type-post status-publish format-standard hentry category-allgemein> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2419 relbookmark>TychoMission is taking part in ESA’s #Moonlight call-for-ideas/a>/h2> /header>!-- .entry-header --> div classentry-content> p>Exciting! The a hrefhttps://twitter.com/tychomission>TychoMission/a> is taking part in a hrefhttp://www.esa.int>ESA/a>’s #Moonlight call-for-ideas enabling use cases on the #Moon with a lunar communications & navigation service (LCNS). What do you think about our #space #lasercomms supporting crewed exploration from everywhere a hrefhttp://tiny.cc/tycho4moonlight>http://tiny.cc/tycho4moonlight/a>?/p>figure classwp-block-image size-large>img decodingasync srchttps://pbs.twimg.com/media/FTsc5wiXwAAxMNr?formatjpg&namelarge alt/>/figure> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/c75cb8fbd1dd6e3100344bf83608fb37?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/c75cb8fbd1dd6e3100344bf83608fb37?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author1>horn/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2419 relbookmark>time classentry-date published updated datetime2022-05-30T21:20:25+02:00>30. Mai 2022/time>/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2419#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu TychoMission is taking part in ESA’s #Moonlight call-for-ideas/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2419 -->article idpost-2330 classpost-2330 post type-post status-publish format-standard hentry category-allgemein> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2330 relbookmark>GSoC 21 | MOLTO3BP – MOLTO-IT-API | Mario R D/a>/h2> /header>!-- .entry-header --> div classentry-content> p>Hello everyone !br>My name is Mario Robert D’Ambrosio and I got selected for GSoC 21 with the University of Barcelona to work on the MOLTO-3BP and MOLTO-IT tracks.br>During these weeks I had the pleasure to work with multiple mentors, Brandon Escamilla (a hrefmailto:brandon.escamilla@outlook.com>brandon.escamilla@outlook.com/a>) and Ginés Salar (a relnoreferrer noopener hrefmailto:100345764@alumnos.uc3m.es target_blank>100345764@alumnos.uc3m.es/a>) br>Our goals commitments were multiple: first and foremost to have an integrated working and refactored repository for the MOLTO-3BP (a hrefhttps://github.com/uc3m-aerospace/MOLTO-3BP/pull/7/commits/43fb08856652db90f51b02d17fb273b260208670>Refactor Github /a>a hrefhttps://github.com/uc3m-aerospace/MOLTO-3BP/pull/7/files>Link/a>a hrefhttps://github.com/uc3m-aerospace/MOLTO-3BP/pull/7/commits/43fb08856652db90f51b02d17fb273b260208670>)/a> /p>p>And to be able to yield a dynamic, yet simple frontend to consume for the University Carlos III (located in Madrid) students and whoever interested in understanding the dynamic amongst translunar orbits and trajectories./p>p>This is why I worked closely with Brandon and Gines, both in charge respectively of mantaining the service accessible on the university’s server (Brandon) for the MOLTO-IT-API operations and the MOLTO-3BP (Gines)./p>p>Secondily, we decided also to focus on revamping the UI of the displayed results and moslty to encapsulate all the brilliant work done by Gines for his thesis into OOP modern factory pattern classes.br>I chose a strong>microservice/strong> approach, as a busy python programmer, I decided to go towards this route as microservices communications is easier to manage and mostly, it is the most prominent way to micro-architect projects in the 2021 dev era./p>p>/p>h2 classwp-block-heading>Work Roadmap/h2>ul>li>strong>1. Cleaning up the MOLTO-3BP Repository/strong>/li>/ul>p> /p>p>First and foremost a cleanup of old files and unused files was done. /p>p>I cleaned nearly 30 files and removed many unused pieces of code/p>ul>li>strong> 2. Reformatting the MOLTO3BP Code/strong>/li>/ul>p>Next the code was architectured in small microservices that would allow for the orbits to be computed without incurring in extreme computational weight and or adding sophistication and Massive Controller strategy (a hrefhttps://github.com/uc3m-aerospace/MOLTO-3BP/pull/7/commits/a468244a0ac688391f5a2879f4e22f7759cb6ac0>https://github.com/uc3m-aerospace/MOLTO-3BP/pull/7/commits/a468244a0ac688391f5a2879f4e22f7759cb6ac0/a>)/p>div classwp-block-media-text alignwide is-stacked-on-mobile stylegrid-template-columns:85% auto>figure classwp-block-media-text__media>img decodingasync loadinglazy width2288 height2288 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/Blank-diagram.png alt classwp-image-2383/>/figure>div classwp-block-media-text__content>p classhas-large-font-size>/p>/div>/div>ul>li>strong>3. Adding new running options/strong>/li>/ul>p>The running options were added as a runner in the python file and as static filebr>Also, clearly, a README was put to explain all the different layers of inputs.br>/p>figure classwp-block-image size-large>img decodingasync loadinglazy width577 height910 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-14.png alt classwp-image-2391/>/figure>ul>li>strong>4. Changing Image Layout/strong>/li>/ul>p>I have changed the layout in various sessions and offered custom plot graphic display/p>div classwp-block-group>div classwp-block-group__inner-container is-layout-flow>figure classwp-block-gallery columns-3 is-cropped wp-block-gallery-1 is-layout-flex>ul classblocks-gallery-grid>li classblocks-gallery-item>figure>img decodingasync loadinglazy width640 height480 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/lagrange.png alt data-id2387 classwp-image-2387/>/figure>/li>li classblocks-gallery-item>figure>img decodingasync loadinglazy width640 height480 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/orbit.png alt data-id2388 data-linkhttps://aerospaceresearch.net/?attachment_id2388 classwp-image-2388/>/figure>/li>li classblocks-gallery-item>figure>img decodingasync loadinglazy width640 height480 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/final_trajectories.png alt data-id2389 data-linkhttps://aerospaceresearch.net/?attachment_id2389 classwp-image-2389/>/figure>/li>/ul>/figure>/div>/div>ul>li>strong>5. Adding multiprocessing/strong>/li>/ul>p>Multiprocessing support for server and scalable core split was also added/p>figure classwp-block-image size-large>img decodingasync loadinglazy width974 height635 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-13.png alt classwp-image-2390/>/figure>ul>li>strong>6. Adding Flask Support/strong>/li>/ul>p>Finally, to consume the results as QUEUE and display the image with an interrogation system by JOB ID a Flask support was mandatory and added.br>This would allow to consume the API and have the results ready asynchronously by calling with JOB ID/p>ul>li>strong>7. Adding S3 resource saving support/strong>/li>/ul>p>I have added S3 Bucket support not to bloat the server and consume credits I’ve won on my AWS account in order to display the image results of plots continuously for students./p>p>Snippets of code:/p>figure classwp-block-image size-large>img decodingasync loadinglazy width1279 height841 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-12.png alt classwp-image-2386/>/figure>ul>li>strong>8. Finally wrapping it into MOLTO-IT-API/strong>/li>/ul>p>Finally all the code was wrapped into MOLTO-IT, which needed some substantial repolishing and many features/packages upgraded in order for it to work.br>Many code snippets were deprecated and, were thus, updated.br>a hrefhttps://github.com/uc3m-aerospace/MOLTO-IT-API/pull/2/commits/8f4535e30023899f7a366507cacad533e721a025>https://github.com/uc3m-aerospace/MOLTO-IT-API/pull/2/commits/8f4535e30023899f7a366507cacad533e721a025/a>/p>h2 classwp-block-heading>Future work/h2>h4 classwp-block-heading>Migration of API to FastAPI/h4>p>As for the MOLTO-IT we would definitely like to expand and change some things./p>p>Especially we would need to migrate the API to FastAPI to provide more flexibility and maintanance on the long run for the functions and portability./p>p>Also genetic algorithm population and generations could be bettered calibrated to run in a case-specific solution scenario instead of just a plain global one./p>figure classwp-block-image size-large>img decodingasync loadinglazy width610 height208 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-11.png alt classwp-image-2385/>/figure>p>This is going to be done by September – October 21 and could be finished in a new GSoC edition./p>h4 classwp-block-heading>br>MAKING THE MOLTO-IT STATIC/h4>p>It would be nice to dockerize and make the Molto IT static and folder/system agnostic, instead of having many code blocks hardcode as such/p>figure classwp-block-image size-large>img decodingasync loadinglazy width949 height257 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-10.png alt classwp-image-2384/>/figure>h4 classwp-block-heading>Lissajous Orbit/h4>p>We also plan to work on the Lissajous orbit, which requires most of the computation, as it represents both a blend of the Lyapunov and Halo computations combined.br>This is planned to be done by November – December 21./p>h2 classwp-block-heading>Conclusion/h2>p>I have learned so much from such experience, I would be capable of writing an essay for the enormous tasks learnt throughout such experience./p>p>First, strong>communication/strong> was essential for the deployment and delivery of the project.br>Second, I learned about pacing myself and downplaying my expectations as to aiming high but delivering less is worse than aiming a bit lower and overdelivering./p>p>I tried to aim at a not so fantasmagoric intention but have a GSoC plan and post GSoC plan.br>My intentions were to being able to mantain and bring to life a repository strong>where /strong>anyone could possibly contribute and deploy new open source code./p>p>I think such intentions were achieved as we have now cleaned up a lot of code and created documentations (MOLTO-3BP -> a hrefhttps://github.com/uc3m-aerospace/MOLTO-3BP/pull/7/commits/0f3ca55a027e8541cc96d79956fbd1f98468116e>https://github.com/uc3m-aerospace/MOLTO-3BP/pull/7/commits/0f3ca55a027e8541cc96d79956fbd1f98468116e/a>, MOLTO -IT, MOLTO-IT -> a hrefhttps://github.com/uc3m-aerospace/MOLTO-IT-API/pull/2/commits/8f4535e30023899f7a366507cacad533e721a025>https://github.com/uc3m-aerospace/MOLTO-IT-API/pull/2/commits/8f4535e30023899f7a366507cacad533e721a025/a>)/p>p>/p>figure classwp-block-gallery alignleft columns-3 is-cropped wp-block-gallery-4 is-layout-flex>ul classblocks-gallery-grid>li classblocks-gallery-item>figure>img decodingasync loadinglazy width1024 height768 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/corno_grande_notturna.jpeg alt data-id2378 data-linkhttps://aerospaceresearch.net/?attachment_id2378 classwp-image-2378/>/figure>/li>li classblocks-gallery-item>figure>img decodingasync loadinglazy width768 height1024 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/corno_grande_notturna_2.jpeg alt data-id2379 data-linkhttps://aerospaceresearch.net/?attachment_id2379 classwp-image-2379/>/figure>/li>li classblocks-gallery-item>figure>img decodingasync loadinglazy width768 height1024 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/corno_grande_notturna_3.jpeg alt data-id2380 data-linkhttps://aerospaceresearch.net/?attachment_id2380 classwp-image-2380/>/figure>/li>li classblocks-gallery-item>figure>img decodingasync loadinglazy width1200 height1600 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/corno_grande_notturna_4.jpeg alt data-id2381 data-linkhttps://aerospaceresearch.net/?attachment_id2381 classwp-image-2381/>/figure>/li>/ul>/figure>p>As a Computer Engineer student, I have always shared a great passion for computer engineering problems and as an aerospace passionate, I enjoy amusing myself with astrophotography and amateur telescope obsevations.br>To close the GSoC 21 edition, I went and made my first ascent to the Corno Grande of Italy (https://en.wikipedia.org/wiki/Corno_Grande), where I went to the astronomical observatory and made a night climb to the peak (2912m) to challenge myself and close the GSoC edition with a bit of salt (and pepper! as this is not an easy hike/climb, experts only advised!)./p>p>/p>p>I am grateful to have joined this GSoC edition and to be able to contribute in the future!/p>p>/p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/9148905ca7f2716e9b7cf9481ccf8e49?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/9148905ca7f2716e9b7cf9481ccf8e49?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author34>Mario/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2330 relbookmark>time classentry-date published datetime2021-08-23T15:39:27+02:00>23. August 2021/time>time classupdated datetime2021-08-26T12:58:02+02:00>26. August 2021/time>/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2330#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC 21 | MOLTO3BP – MOLTO-IT-API | Mario R D/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2330 -->article idpost-2372 classpost-2372 post type-post status-publish format-standard hentry category-allgemein tag-gsoc> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2372 relbookmark>GSoC2021: Development of an FDIR algorithm using Neural networks/a>/h2> /header>!-- .entry-header --> div classentry-content> p>The goal of this project is to develop a failure detection, isolation and recovery algorithm (FDIR) for a cubesat, but using machine learning and neural networks instead of the more traditional methods. /p>h2 classwp-block-heading>Motivation: What is an FDIR algorithm and why is it usefull? /h2>p>One of the most challenging parts of space missions is knowing and controlling where your spacecraft is, what is its relative orientation with respect to earth and how it is moving. Being aware of these three things is crucial to know if your spacecraft is flying too high or too low, too close to other spacecrafts, or simply if its oriented in a way that will allow it expose its solar panels to the sun to produce power or to point its antenna down to earth for calling home. /p>p>To perform this crucial task of computing and controlling its position and orientation spacecraft are designed with a variety of sensors and actuators that, together with proper control algorithms, ensure that your satellite remains where you want it and pointing in the right direction. This is often referred to as Attitude and Orbit control subsystem or AOCS. /p>p>Since this subsystem is critical for the spacecraft, it is needless to say that a failure in one of these sensors or actuators could easily kill your spacecraft and put and end to your mission. A faulty reading of a gyroscope that says that your spacecraft is rotating when it is not, a dead gyroscope that gives no signal and can’t tell if it is, or just a faulty thruster that provided more thrust than it should could leave your spacecraft spinning uncontrolled. /p>p>For these reason, providing the spacecraft on board software with a way of detecting these kind of failures as well as guidelines on how to proceed if one of these failures is detected is crucial for any space mission. This is done by means of the so called Failure Detection, Isolation and Recovery algorithms (FDIR)./p>p>Traditionally, these types of algorithms where simple, as they where based mainly on hardware redundancy , i.e., having many sensors that measure the same thing so that if one fails, you could detect the failure by looking at the rest and seeing that the signal is not consistent, isolate the failure by ignoring the reading from that sensor, and recover from the failure simply by continue to listen to the rest non-faulty sensors. While this is a valid and robust strategy to FDIR, it requires hardware redundancy of many spacecraft sensors and actuators, which means carrying on board more gyroscopes or reaction wheels than you actually need. /p>p>In recent years however, there has been a rising interest in low-cost space platforms such as Cubesats, pico or nano satellites that perform missions with much smaller budgets. One of the strategies used in these missions to reduce costs is to replace hardware based functionalities by software based ones, reducing therefore the number of components on board, the weight and power demands and overall complexity. /p>p>Replacing a hardware redundancy based FDIR strategy with a software based strategy is a perfect example of this. If your on board computer is capable of detecting a drift or a bias in the measurement of a sensor and correcting it without the need of comparing it with redundant sensors, or comparing it with the smallest number of redundant sensors possible then your mission might still be capable of safe operation, but minimizing the weight, power and cost penalties of hardware redundancy. There many ways to perform FDIR algorithms that focus on software instead of hardware, in order to explore some of the less conventional ones, it was decided to focus the project around machine learning and neural networks. /p>h2 classwp-block-heading>Project description/h2>p>The goal of the project was then to set the basis of a neural network that could work to detect possible faulty signals from a cubestas sensors and actuators during its operation. This project had then two distinct lines of work:/p>ol>li>To develop or modify an existing simulator of a Cubesat to generate and extract the data from the sensors and actuators. This data is needed to train and test the Neural Network. /li>li>To create an script capable reading and preprocessing the data from the simulator as well as creating, training and testing the neural network./li>/ol>p>For the first, task an existing Cubesat simulator that included its own FDIR algorithm was used. This simulator written by Javier Sanz Lobo using Simulink included among its features the ability to simulate not only the cubesats motion, but also the readings from gyroscopes, reaction wheels and thrusters, as well as the capacity to induce artificial failures on the different components during the simulation. The original simulator can be found linked in the following repository:/p>p>a hrefhttps://github.com/msanrivo/SmallSat_FDIR>https://github.com/msanrivo/SmallSat_FDIR/a>/p>p>Several modifications where made to this simulator in order to fit it to it’s desired purpose. Among these it is worth highlihting:/p>ul>li>The ability to Change the initial conditions to randomly generated ones within a desired range/li>li>A Matlab code that ran the simulator in a loop with random failure scenarios to generate the training and testing data/li>li>The capacity to export the readings from the sensors and actuators during the simulation to .txt files with the desired format./li>li>Disabling the FDIR algorithm so that the simulated readings of the artificial failures remained unchanged. /li>li>The capacity of failures to occur at different times rather than at the start of the simulation./li>/ul>p>For the second line of work, a scrip was written from scratch in python 3.8 using keras from the TensorFlow library to build, train and test the neural network. At the day of publishing this post, there are currently two scripts that read the data from 6 gyroscopes and 4 reaction wheels of the cubesat in the simulator and use one thousand simulations to train a Neural Network and a convolutional neural network. In both cases the network is then tested with another one hundred simulations to evaluate its real accuracy. /p>p>The end result is two types of neural networks that are both capable of predicting not only the most likely failure scenario that corresponds to that data, but also the probability of each individual failure scenario, which is a valuable input for future steps in the process of developing a fully functional FDIR algorithm./p>h2 classwp-block-heading>Results/h2>p>Currently both the traditional neural network and the convolutional one achieve accuracy values of around 70% in their predictions. Note that with 6 gyros and 4 Reaction wheels and the limitation of a maximum of two gyros and two reaction wheels failing the number of possible scenarios rises up to 242, which makes it hard to perform predictions. /p>p>Simpler scenarios where none of the devices fail are easily identified by both networks, as is the case of the following figure where both predict the correct outcome with a probability higher than 70%:/p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/CASE0.png alt classwp-image-2373 width982 height299/>/figure>p>More complex scenarios where one or several devices fail reduce this prediction probability, making them capable of predicting correctly the failure of one device, but rarely all of them. In this cases, however, usefull information is provided by the probabilities, as the correct scenario can be found among those with the highest probabilities even if it is not the one with the highest. /p>p>Take for example the case depicted in the following figure where only one reaction wheel fails. The CNN is capable of predicting the correct scenario, but the NN predicts a scenario in which not only the aforementioned wheel fails, but also two complementary gyros as well. Note that even when predicting the wrong scenario, the NN shows the correct one as the second most likely./p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/CASE1.png alt classwp-image-2374 width1021 height247/>/figure>h2 classwp-block-heading>Future work /h2>p>A lot has been achieved during this GSoC period, yet there is still plenty of work ahead in this ambitious project. Among the features that are still to be implemented and tasks to be performed there are:/p>ul>li>Continue to improve the neural networks to achieve better results at higher computational efficiencies./li>li>Improve the simulator to generate better failure scenarios for thrusters./li>li>Expand the FDIR capabilities of the network to include the simulated values of thrusters./li>li>Research on reducing the number of input arguments to reduce the order of the problem and increase efficiency./li>li>An interface between simulator and neural network to test and simulate in parallel. /li>/ul>h2 classwp-block-heading>Useful links/h2>p>Github Repository: a hrefhttps://github.com/Rafabadell/FDIR_Neural_Networks >https://github.com/Rafabadell/FDIR_Neural_Networks /a>/p>p>Author e-mail: a relnoreferrer noopener hrefmailto:Rafael.Badell@aerospaceresearch.net target_blank>Rafael.Badell@aerospaceresearch.net/a> /p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/fe0889459f436db5aab03982f8282d87?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/fe0889459f436db5aab03982f8282d87?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author33>Rafael Badell/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2372 relbookmark>time classentry-date published updated datetime2021-08-23T03:55:02+02:00>23. August 2021/time>/a>/span>span classtags-links>span classscreen-reader-text>Schlagwörter /span>a hrefhttps://aerospaceresearch.net/?taggsoc reltag>GSoC/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2372#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC2021: Development of an FDIR algorithm using Neural networks/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2372 -->article idpost-2353 classpost-2353 post type-post status-publish format-standard hentry category-allgemein tag-python tag-satellite tag-signalprocessing> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2353 relbookmark>GSoC2021: findsatbyrf Center of satellite signal in the frequency domain/a>/h2> /header>!-- .entry-header --> div classentry-content> h1 classwp-block-heading>strong>Overview:/strong>/h1>p>This program finds the center in the frequency domain of a signal by time./p>p>This is the link to its a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/findsatbyrf target_blank>Github repository/a>. There, you can also see the markdown (.md) file that contains the same content as this blog./p>p>Every major work on this repository is done by a hrefhttps://www.linkedin.com/in/tranhuubinhminh/ target_blank relnoreferrer noopener>Binh-Minh Tran-Huu/a> under instructions and monitor from mentor a hrefhttps://www.linkedin.com/in/andreas-hornig-253b2818/ target_blank relnoreferrer noopener>Andreas Hornig/a> of a hrefhttps://aerospaceresearch.net/ target_blank relnoreferrer noopener>Aerospaceresearch.net/a> as a hrefhttps://summerofcode.withgoogle.com/projects/#5393798554714112 target_blank relnoreferrer noopener>a project participated in Google Summer of Code 2021/a>./p>h1 classwp-block-heading>strong>Usage:/strong>/h1>h2 classwp-block-heading>strong>Step 1: Prepare your wave file (.wav/.dat) and a json file containing the information about your signal/strong>/h2>p>Example of the json file:/p>div classwp-block-group>div classwp-block-group__inner-container is-layout-flow>pre classwp-block-code>code>{ signal: { name: NOAA-18, type: NOAA, center_frequency: 137.5e6, time_of_record: 2021-06-04T20:17:05.00Z }, tle: { line_1: 1 28654U 05018A 21156.90071532 .00000084 00000-0 69961-4 0 9998, line_2: 2 28654 98.9942 221.7189 0013368 317.9158 42.0985 14.12611611826810 }, station: { name: Stuttgart, longitude: 9.2356, latitude: 48.777, altitude: 200.0 }, default_channel: [ { frequency: 137912968, bandwidth: 60e3 } }/code>/pre>p>/p>/div>/div>p>Where:/p>ul>li>„signal“ object contains information about the signal file, such as name, center frequency and time of record. For now, there is only „type“: „NOAA“ is supported, if the signal is not NOAA then you should put „type“: null or simply remove that key./li>li>„tle“ object contains the two lines of the „two-line element“ file of the satellite that the signal comes from./li>li>„station“ object contains the information of the station, such as name, longitude (degree), latitude (degree) and altitude (meter)./li>li>„default_channel“ object contains a em>list/em> of channels that will be analyzed in case there is no channel input from the command line. em>It could handle more than one channel, you can always add more channels into that list/em>, for example:/li>/ul>pre classwp-block-code>code>default_channel: [ { frequency: 400574.350e3, bandwidth: 20e3 }, { frequency: 400575.0e3, bandwidth: 20e3 } /code>/pre>p>em>strong>NOTE:/strong>/em> „tle“ and „station“ objects are only needed if you intend to use signal center frequency prediction based on TLE, „default_channel“ object is only needed if you want to not put channel information into the command line, otherwise you can remove them./p>h2 classwp-block-heading>strong>Step 2: Run the program from the Command-Line Interface (CLI)/strong>/h2>p>Simply use Python to run the file main.py with the following arguments:/p>pre classwp-block-code>code>[-h -f wav/dat_file -i json_file [-o name_of_output_file [-ch1 frequency_in_Hz [-bw1 frequency_in_Hz[-ch2 frequency_in_Hz [-bw2 frequency_in_Hz[-bw3 frequency_in_Hz [-ch3 frequency_in_Hz[-ch4 frequency_in_Hz [-bw4 frequency_in_Hz [-step time_in_second[-sen frequency_in_Hz [-filter float[-tle [-begin time_in_second[-end time_in_second/code>/pre>p>With:/p>ul>li>-h: to show help./li>li>-f (required): to input the directory of the wave file./li>li>-i (required): to input the json signal information file./li>li>-o: directory and name without extension of the wanted output file, defaults to „./output“./li>li>-ch0, -ch1, -ch2, -ch3: to input the frequencies (in Hz) of up to 4 channels to be analyzed. Will overwrite the „default_channel“ provided by the json file./li>li>-bw0, -bw1, -bw2, -bw3: to input the bandwidth (in Hz) of up to 4 channels to be analyzed. Will overwrite the „default_channel“ provided by the json file./li>li>-step: to input the length in time (in second) of each time interval, defaults to 1./li>li>-sen: to input the sensitivity, which is the width of each bin in the frequency kernel (in Hz) after FFT, defaults to 1./li>li>-filter: to input the strength of the noise filter as ratio to 1. For example, filter of 1.1 means the noise filter is 1.1 times as strong, or 10% stronger than the default filter, defaults to 1./li>li>-begin: to input the time of begin of the segment to be analyzed, defaults to 1./li>li>-end: to input the time of end of the segment to be analyzed, defaults to the end of the file./li>li>-tle: used to turn on prediction based on Two-line elements (TLE) file, otherwise this function is off./li>/ul>p>EXAMPLES:\/p>pre classwp-block-code>code>python3 .\main.py -i .\MySignal.json -f .\MySatellite\MySignal.wav -ch0 400.575e6 -bw0 20e3 -o D:\\CubeSat -begin 10. -end 60. -tlepython3 ./main.py -i /home/MyUser/MySignal.json -f ./MySatellite/MySignal.wav -ch0 400.575e6 -bw0 20e3 -o ./CubeSatpython3 ./main.py -i /home/MyUser/MySignal.json -f ./MySatellite/MySignal.wav -filter 1.25/code>/pre>h2 classwp-block-heading>strong>Output:/strong>/h2>ol>li>A time vs. frequency graph, showing the center of the signal in the frequency domain by time, for example: img decodingasync loadinglazy altAPT_NOAA example srchttps://lh6.googleusercontent.com/sJebehb3NxocPBe-lNWH9bQrJ-zfrpugXcg1ql6ROPbwpGJcOhJujShHWwKwwihxqKexRp7Mr8TGD9Q2zi-Fm1XkoIt57bYzfNArQ_pvXm5aCilApFS1otSphsC4mUbDmc3cbFXN width624 height237>/li>li>A .csv file storing the center position in the frequency domain by time./li>li>A .json file with a „header“ object containing metadata of the signal and „signal_center“ object containing centers of the signal for each channel by time./li>li>On the command-line interface, if -tle is enabled, there will be information about the offset between the calculated frequencies from the wave file and from the tle file as well as the standard error of the signal compared to prediction./li>/ol>p>All files are exported with name and directory as selected with the -o argument./p>h2 classwp-block-heading>Test files:/h2>p>You can use the files a hrefhttps://drive.google.com/drive/folders/1xJYhjG-9HT8RZG5PgqbY8jZbCk6mBn_r?uspsharing target_blank relnoreferrer noopener>here/a> to test the code./p>h1 classwp-block-heading>strong>Description:/strong>/h1>h2 classwp-block-heading>strong>1. Introduction:/strong>/h2>p>Because of the recent sharp growth of the satellite industry, it is necessary to have free, accessible, open-source software to analyze satellite signals and track them. In order to achieve that, as one of the most essential steps, those applications must calculate the exact centers of the input satellite signals in the frequency domain. My project is initiated to accommodate this requirement. It aims to provide a program that can reliably detect satellite signals and find their exact frequency centers with high precision, thus providing important statistics for signal analyzing and satellite tracking./p>h2 classwp-block-heading>strong>2. Overview/strong>/h2>p>The project aims to locate the exact centers of given satellite signals with the desired accuracy of 1kHz, based on several different methods of finding the center. At first, the center-of-mass approach will be used to determine the rough location of the center. From that location, more algorithms will be applied depending on the type of the signal to find the signal center with higher accuracy. Currently, for many APT/NOAA signals, with the center-of-mass and “signal peak finding” approach (that will be shown below), we can get results with standard errors less than 1 kHz. For example, with the example signal above, the standard error is 0.026 kHz./p>h2 classwp-block-heading>strong>3. Theoretical basis/strong>/h2>p>The overall flowchart: img decodingasync loadinglazy altFlowchart srchttps://lh4.googleusercontent.com/yp0HgcV4tyLPItq4rBydpjkkEkwsVxAkIJ-_enVrWFrulCbwRD8HTT9H_KzRfmaaQebvbN5AubJ2u4YLiHpZIPFs8mzx0y9mOfTsmcIQXyuGCv886IY3p39KNUucwLICGTWTwRY8 width624 height520>/p>ul>li>Fast-Fourier Transform (FFT)/li>/ul>p>Fourier Transform is a well-known algorithm to transform a signal from the time domain into the frequency domain. It extracts all the frequencies and their contributions to the total actual signal. More information could be found at a hrefhttps://en.wikipedia.org/wiki/Fourier_transform target_blank relnoreferrer noopener>Wikipedia: Discrete Fourier transform/a>./p>p>Fast-Fourier Transform is Fourier Transform but uses intelligent ways to reduce the time complexity, thus reducing the time it takes to transform the signal./p>ul>li>Noise reduction and background signal reset:/li>/ul>figure classwp-block-image>img decodingasync srchttps://lh4.googleusercontent.com/1VvAUuq_dFqLOaZ-5YmMNM_XzE4CfbghQq6OKDSV3Cv_F-Qlpk2wfQHz58Tgxxv6BdK2uKrmBNFs4wHPv5HJf374gI4-R8DZvg6ZpaNyfeQ-Kh2RQlJ_IcNU_OD7nx37zWMgzhNs altNoise in actual signal/>/figure>p>In actual signals, there is always noise, but generally noise has two important characteristics, which is normally distributed and its amplitude does not change much by frequency. You can see the signal noise in the following figure:/p>p>If we can divide the signal in the frequency domain into many parts such that we are sure that at least one of them contains only noise, we can use that part to determine the strength of noise./p>p>For example, consider only this signal segment:/p>figure classwp-block-image>img decodingasync srchttps://lh5.googleusercontent.com/8S3IuBfl1KJZiHLO8xkILzg0vVHNoN2VV0hAPQd52abMYSuMX6V2CHseRHoW65BS5QJtBzfQOcP352kNXV3KFnPRUGe8dpNeh2he43cDKcgsIaAJN7T4otZo5mDsVN6ak6zRAAFw altOne segment with noise/>/figure>p>By taking its average, we can find where the noise is located relative to the amplitude 0. By subtracting the whole signal to this average, we can ensure the noise all lies around the zero amplitude./p>figure classwp-block-image>img decodingasync srchttps://lh4.googleusercontent.com/Rz8QQNGOwK6QLNyefd26xacg3NCHpZnmOpKFyuPZDAlpUcVvORJFWCeT8-pToFYkRbYREEd-RH408hWoRQos02-M11i_FLc0ZqNaNLpCq0S7PJyaX1NlInbWoMQpdPNpWoHXvLtd altOne segment with noise/>/figure>p>Next, we want to reduce all the noise to zero. To do that, we consider the distribution of noise, which is a normal distribution./p>p>img decodingasync loadinglazy altNormal distribution srchttps://lh6.googleusercontent.com/J4wMN9qgpzrAUzHmb9DSEP_Omu8lBF166AR2aN_xSWbuDL0SHh7lt_ml5og6SVOeJ-xBVlPjNb7OOm2yqpyYb4zkCuRx0I2BXvZNGQ4iPLJqMYdLyjDE_Vj_qmfToqGauK8nh25U width624 height464> Photo from a hrefhttps://sphweb.bumc.bu.edu/otlt/MPH-Modules/PH717-QuantCore/PH717-Module6-RandomError/PH717-Module6-RandomError5.html>Characteristics of a Normal Distribution/a>./p>p>From this distribution, we are sure that 99.9% of noise has amplitude less than three times of the standard deviation of noise. If we shift the whole signal down by 3 times this standard deviation, 99.9% of the noise will have amplitude less than 0. From there, we can just remove every part of the signal with an amplitude less than zero. Then we will be able to get a signal without noise with the background having been reset to 0./p>p>You can clearly see the effect of this algorithm by looking at the signal of PIXL1 satellite above, where all the noise has been shifted to below 0./p>ul>li>Center-of-mass centering/li>/ul>p>This algorithm is simple, the centroid position is calculated as: (sum of (amplitude x position)) / (sum of amplitude), similar to how we calculate the center of mass in physics. The result of this algorithm is called the spectral centroid, more information could be found at a hrefhttps://en.wikipedia.org/wiki/Spectral_centroid target_blank relnoreferrer noopener>Wikipedia: Spectral centroid/a>./p>ul>li>Peak finding./li>/ul>p>For signals with clear peaks such as APT(NOAA), finding the exact central peak points of the signal would give us good results. From the rough location of the center by Center-of-mass method, we can scan for its neighbor to find the maximum peak. This peak will be the center of the signal that we want to find. For APT signals, this peak is very narrow, therefore this method is able to give us very high precision./p>ul>li>Predicted signal centers from TLE/li>/ul>p>TLE (Two-line element set) information of a satellite can be used to determine the position and velocity of that satellite on the orbit. By using this data of position and velocity, we can calculate the relativistic Doppler effect caused by the location and movement of the satellite to calculate the signal frequency that we expect to receive on the ground. For more information, visit a hrefhttps://en.wikipedia.org/wiki/Relativistic_Doppler_effect#Motion_in_an_arbitrary_direction target_blank relnoreferrer noopener>Wikipedia: Relativistic Doppler effect/a>./p>ul>li>Error calculation. Assume TLE gives us the correct result of signal center, we can calculate the standard error of the result by calculating the standard deviation:/li>/ul>figure classwp-block-image>img decodingasync srchttps://lh4.googleusercontent.com/7uN4YlxjI7yebyx_eMdrVVr5qGzeslp7tOmphl_q3gb7uKXfaRvGKxc3WWtogeEYZVBtHuV6tVybLhqM9v2PU5NV9s9ZSJKvCLq4IDplMpeH9K7nFGaL19BaY8jZZVYwi1moGnrt altStandard deviation/>/figure>p>Where n is the number of samples, x_i is the difference between our calculated center frequency from .wav and the frequency we get from TLE./p>h2 classwp-block-heading>4. strong>Implementation in actual code:/strong>/h2>ul>li>a hrefhttps://github.com/aerospaceresearch/findsatbyrf/blob/bm_dev/findsat/main.py target_blank relnoreferrer noopener>main.py/a> is where initial parameters are stored. The program is executed when this file is run./li>li>a hrefhttps://github.com/aerospaceresearch/findsatbyrf/blob/bm_dev/findsat/tracker.py target_blank relnoreferrer noopener>tracker.py/a> stores the Signal object, which is the python object that stores every information about a signal and the functions to find its center./li>li>a hrefhttps://github.com/aerospaceresearch/findsatbyrf/blob/bm_dev/findsat/tools.py target_blank relnoreferrer noopener>tools.py/a> contains the functions necessary for our calculation, as well as the TLE object used for center prediction./li>li>a hrefhttps://github.com/aerospaceresearch/findsatbyrf/blob/bm_dev/findsat/signal_io.py target_blank relnoreferrer noopener>signal_io.py/a> stores functions and objects related to the input and output of our signals and instructions./li>/ul>h2 classwp-block-heading>5. strong>Current results:/strong>/h2>ol>li>For APT(NOAA): Standard error 0.004 kHz img decodingasync loadinglazy altAPT_NOAA example srchttps://lh3.googleusercontent.com/OACViwl9WObDF6bCXVXSKv1LLWRonCJ7-kePH8HENf2ydQwrx8dXQwUTlIJDAauahvD3lFSDpCLG8jGx8nKszNUAaj4bPro3Lc6bqLni4ruVc8xZnlfjUaNzm9cOmJTiMpYEgUBy width624 height237>/li>li>For PIXL1(CUBESAT): Standard error 0.029 kHz img decodingasync loadinglazy altPIXL example srchttps://lh4.googleusercontent.com/ycAs6dQ-MR4dvY-_ykaEZ3zCoXUxUvEZXxlcs8ssker44b3Rb7bU3TzEUG2GWqdonxquArtnBHPijThkMU1c1BDlJcqtbsWwvOwIVXJv4GHuMLsR9PwdiqgKRcgpsCm1PNtew0t- width624 height237>/li>/ol>h2 classwp-block-heading>6. strong>Potential further improvements:/strong>/h2>ul>li>Expand the program to work better with more types of signals./li>li>Make video-output function works with reasonable computing resources.br>Currently, with my private version of the code, I am able to make videos such as a relnoreferrer noopener hrefhttps://youtu.be/GA907aWhWGA target_blank>this one/a>, but it took too much time and memory to actually make one, therefore I did not put it into the official code./li>/ul>figure classwp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio>div classwp-block-embed__wrapper>iframe loadinglazy titleAPT signal from findsatbyrf width840 height630 srchttps://www.youtube.com/embed/GA907aWhWGA?featureoembed frameborder0 allowaccelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture allowfullscreen>/iframe>/div>/figure> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/a7c30a8e4c5cf039049a90d3ccae8d00?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/a7c30a8e4c5cf039049a90d3ccae8d00?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author31>binhminh/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2353 relbookmark>time classentry-date published datetime2021-08-22T06:34:51+02:00>22. August 2021/time>time classupdated datetime2021-08-22T06:46:47+02:00>22. August 2021/time>/a>/span>span classtags-links>span classscreen-reader-text>Schlagwörter /span>a hrefhttps://aerospaceresearch.net/?tagpython reltag>python/a>, a hrefhttps://aerospaceresearch.net/?tagsatellite reltag>satellite/a>, a hrefhttps://aerospaceresearch.net/?tagsignalprocessing reltag>signalprocessing/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2353#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC2021: findsatbyrf Center of satellite signal in the frequency domain/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2353 -->article idpost-2349 classpost-2349 post type-post status-publish format-standard has-post-thumbnail hentry category-allgemein tag-calibratesdr tag-gsm tag-gsoc tag-signalprocessing> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2349 relbookmark>GSoC2021 CalibrateSDR GSM Support/a>/h2> /header>!-- .entry-header --> a classpost-thumbnail hrefhttps://aerospaceresearch.net/?p2349 aria-hiddentrue> img width1200 height676 srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/CalibrateSDR-1.png classattachment-post-thumbnail size-post-thumbnail wp-post-image altGSoC2021 CalibrateSDR GSM Support decodingasync loadinglazy sizes(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 60vw, (max-width: 1362px) 62vw, 840px /> /a> div classentry-content> h2 classwp-block-heading>Overview/h2>p>strong>CalibrateSDR/strong> developed by a hrefhttps://twitter.com/andreashornig>Andreas Hornig/a>, is a tool developed to determine the frequency drift of Software Defined Radios precisely using sync pulses of various Signal Standards. /p>p>Cheaper SDRs use a low-quality crystal oscillator which usually has a large offset from the ideal frequency. Furthermore, that frequency offset will change as the dongle warms up or as the ambient temperature changes. The result is that any signals received will not be at the correct frequency, and they would drift as the temperature changes. CalibrateSDR can be used with almost any SDR to determine the frequency offset. /p>p>The work on strong>GSM/strong> (2G) has been done by a relnoreferrer noopener hrefhttps://twitter.com/jyrj_j target_blank>Jayaraj J/a>, mentored by Andreas Hornig, as part of a relnoreferrer noopener hrefhttps://summerofcode.withgoogle.com/projects/#5561974626189312 target_blank>Google Summer of Code 2021/a>, the working directory for the same can be found at a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/tree/jyrj_dev target_blank>Github/a>./p>figure classwp-block-image>img decodingasync srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/CalibrateSDRAerospaceResearch-Jayaraj-J.png alt/>figcaption>em>proposed working of CalibrateSDR/em> – made GSM signal compatible (the below guide shows how to get started)/figcaption>/figure>h2 classwp-block-heading>Project Description/h2>p>GSM uses time division to share a frequency channel among users. Each frequency is divided into blocks of time that are known as time-slots. 8 time-slots are numbers TS0 – TS7. Each time slot lasts about 576.9 μs. The bit rate is 270.833 kb/s, a total of 156.25 bits can be transmitted in each slot./p>p>Each slot allocates 8.25 of its „bits time“ as guard-time, split between the beginning and the end of each time slot. Data transmitted within each time slot is called a burst. There are several types of bursts./p>p>em>Frequency correction/em> burst is a burst of a pure frequency tone at 1/4th the bitrate of GSM or (1625000 / 6) / 4 67708.3 Hz. By searching a channel for this pure tone, we can determine its clock offset by determining how far away from 67708.3Hz the received frequency is./p>h5 classwp-block-heading>strong>How is it working?/strong>/h5>ol>li>Scanning of GSM Channels is based on the ARFCN frequency bands. For tuning into GSM Frequency, the ARFCN script can be used. We give the input of band to scan, the result will be the frequency. If we input the „scan all“ option, it will scan the whole GSM Frequencies in the given band and return the offset calculated from each frequencies. The code for the same can be found at: a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/arfcn_freq.py target_blank>https://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/arfcn_freq.py/a>/li>li>After scanning channels in specific bands using ARFCN, the program will record the sample in the given sample rate. Make sure the SDR is connected with the device, or we can record it and give the input as a wave file./li>li>The determination of the position of FCCH bursts that we receive in SDRs is done by the code in a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/fcch_offset.py data-typeURL data-idhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/fcch_offset.py target_blank>fcch_ossfet.py/a>. We measure it by how much shifted is the FCCH burst, than what we expect, that is at 67708.3 Hz from the frequency centre. Simply, if no offset is there, we could see these tone bursts at 67708.3 Hz offset concerning the centre frequency of the channel. /li>li>The final output we receive include ul>li>strong>Frequency drift/strong> from the expected FCCH position/li>li>Thestrong> Offset of SDR in PPM/strong>/li>/ul>/li>li>strong>The whole code works from the main cali.py and inturns/strong> a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/gsm.py data-typeURL data-idhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/gsm.py target_blank>gsm.py/a> files/li>/ol>h5 classwp-block-heading>strong>To test with the IQ_file.wave/strong>:/h5>p>After cloning the repo locally, run the setup to install the requirements using the command: code>python setup.py install/code>/p>p>After that, to run the visualization plots, run:/p>pre classwp-block-code>code>python cali.py -m gsm -f <location of wav file> -rs <sampling rate> -fc <frequency center>/code>/pre>p>First, we will get the plot of the strong>average power spectrum/strong> plot. Play with the code to increase the N value, and you can see the sharpness of the line./p>figure classwp-block-image>img decodingasync srchttps://lh5.googleusercontent.com/VBlZ-uUXlQqOHUFL9uqWbNHA5wCvyUBu2O0nGc6fZ_byErJgcFYBHyWKKSmYNgO4tTQJRWhB9tueG5mvtg-mIo8DKOPHyxr6YOk3gFkY6CevULNOjH8DBryXNgnu4TTn9p7OQ2VN alt/>/figure>p>Further plots generated includes TDMA frames, the position of FCCH bursts visualisation as given below./p>figure classwp-block-image is-resized>img decodingasync loadinglazy srchttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/tests/gsm/Screenshot-spectrogram_hann-Zoomed.png?rawtrue altScreenshot-spectrogram_hann-Zoomed.png width805 height302/>/figure>p>We can see the pure tone FCCH bursts are occurring at specific intervals and can be visualized as small blue dots at a range of 0.25 from the centre./p>p>Thus implementation of a filter bank and calculating the positions of these FCCH bursts will give us the offset frequency since we know these FCCH bursts occur at a distance of 67708.3 Hz from the frequency centre./p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/Figure_1.png alt classwp-image-2394 width630 height472/>figcaption>The average power spectrum of Discrete Fourier Transforms/figcaption>/figure>h2 classwp-block-heading>strong>Usage/strong>/h2>p>Test files for GSM, recorded by Andreas can be found a relnoreferrer noopener hrefhttps://drive.google.com/drive/folders/1tO7BR6EpReL1ratUfFycQoZyVkYU10B4?uspsharing data-typeURL data-idhttps://drive.google.com/drive/folders/1tO7BR6EpReL1ratUfFycQoZyVkYU10B4?uspsharing target_blank>here/a>./p>ul>li>Setup the environment, make sure the requirements are installed (preferably in a virtualenv). Use the setup.py to install necessary requirements./li>li>To view the parameters for input run code>~$ python cali.py -h/code>/li>/ul>p>usage: cali.py -h -f F -m {dab,dvbt,gsm} -s {rtlsdr} -c C -rs RS -rg RG -rd RD -nsec NSEC -gr -v -fc FC/p>p>optional arguments:br>code>-h/code>, –help show this help message and exitbr>code>-f/code> F select path to input filebr>code>-m/code> {dab,dvbt,gsm} select modebr>code>-s/code> {rtlsdr} scan with rtlsdrbr>code>-c/code> C scan by „all“ channels, by channel number „0,1,…n“ or by block namebr>code>-rs/code> RS file/scan sample ratebr>code>-rg/code> RG scan with gainbr>code>-rd/code> RD scan with the devicebr>code>-nsec/code> NSEC scan for n-secondsbr>code>-gr/code>, –graph activate graphsbr>code>-v/code>, –verbose an optional argumentbr>code>-fc/code> FC frequency centreSetup the environment, make sure the requirements are installed (preferably in a virtualenv). Use the setup.py to install necessary requirements./p>ul>li>If testing with a recorded wav file, enter the parameters as:/li>/ul>pre classwp-block-code>code>~$ python cali.py -m gsm -f <location of wav file> -rs <sampling rate> -fc <frequency center>/code>/pre>ul>li>If testing with an SDR stick, specify the ARFCN band, or specific frequency centre to scan for the GSM channel./li>/ul>p>The ARFCN Bands include: em>GSM_850, GSM_R_900, GSM_900, GSM_E_900, DCS_1800, PCS_1900./em> For more information about the arfcn, checkout a relnoreferrer noopener hrefhttps://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number data-typeURL data-idhttps://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number target_blank>here/a>./p>p>Example usage:/p>pre classwp-block-code>code>~$ python cali.py -m gsm -s rtlsdr -c 900/code>/pre>p>The above parameters can be changed according to user needs. -rs can be specified with sample rate. The exact sample rate will be shown with the result. Make sure the SDR is connected when running the code with code>-s rtlsdr/code> argument. Specify the code>-fc/code> frequency argument, if the scan is to be done with a single frequency. /p>p>The expected output would look like this:/p>pre classwp-block-preformatted>{f: None, m: gsm, s: rtlsdr, c: 900, rs: 2048000, rg: 20, rd: 0, nsec: 10, graph: False, verbose: False, fc: None}lets find your SDRs oscillator precisionscanning…starting mode: gsmFound Rafael Micro R820T/2 tunerExact sample rate is: 270833.002142 HzScanning all GSM frequencies in band: GSM_900Offset Frequency: 31031.66666666667Offset in PPM: 33.179448397684716/pre>p>The Offset calculated from the frequency drift between fcch positions can be precisely derived and can be used to correct the oscillator./p>h5 classwp-block-heading>strong>Potential further improvements:/strong>/h5>ol>li>LTE Signal support need to be included (currently in focus), and much more standards need to be made compatible for a wide usage of the tool./li>li>Making a platform-neutral API to communicate with more SDR devices./li>li>Optimising the user interface (command-line tool can be made more user friendly)./li>/ol>p>strong>References:/strong>/p>p>Find out the project updates in my branch and do give a star for the project in AerospaceResearch org:/p>p>a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/tree/jyrj_dev target_blank>https://github.com/aerospaceresearch/CalibrateSDR/tree/jyrj_dev/a>/p>ul>li>a relnoreferrer noopener hrefhttps://jyrj.hashnode.dev/how-i-got-selected-for-gsoc target_blank>https://jyrj.hashnode.dev/how-i-got-selected-for-gsoc/a> em>– First blog/em>/li>li>a relnoreferrer noopener hrefhttps://aerospaceresearch.net/?p2208 target_blank>https://aerospaceresearch.net/?p2208/a> – em>Second blog/em>/li>li>a relnoreferrer noopener hrefhttps://aerospaceresearch.zulipchat.com/#narrow/stream/281823-CalibrateSDR target_blank>https://aerospaceresearch.zulipchat.com/#narrow/stream/281823-CalibrateSDR/a> em>– Chat stream for the project/em>/li>li>a relnoreferrer noopener hrefhttps://greenteapress.com/wp/think-dsp/ target_blank>https://greenteapress.com/wp/think-dsp/ /a>em>– For anyone who likes to start with digital signal processing/em>/li>li>a hrefhttps://pysdr.org/index.html>https://pysdr.org/index.html/a> – em>A simple guide to learning the basics of SDRs and DSP/em>/li>/ul>p>/p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/36fe9df88a46e1cb02ca1008d00ed799?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/36fe9df88a46e1cb02ca1008d00ed799?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author29>jayaraj/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2349 relbookmark>time classentry-date published datetime2021-08-21T20:59:22+02:00>21. August 2021/time>time classupdated datetime2021-08-23T19:26:02+02:00>23. August 2021/time>/a>/span>span classtags-links>span classscreen-reader-text>Schlagwörter /span>a hrefhttps://aerospaceresearch.net/?tagcalibratesdr reltag>CalibrateSDR/a>, a hrefhttps://aerospaceresearch.net/?taggsm reltag>gsm/a>, a hrefhttps://aerospaceresearch.net/?taggsoc reltag>GSoC/a>, a hrefhttps://aerospaceresearch.net/?tagsignalprocessing reltag>signalprocessing/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2349#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC2021 CalibrateSDR GSM Support/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2349 -->article idpost-2347 classpost-2347 post type-post status-publish format-standard hentry category-allgemein> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2347 relbookmark>GSoC’21 : Calibrate-SDR DVB-T for calibration/a>/h2> /header>!-- .entry-header --> div classentry-content> h2 classwp-block-heading>Overview :/h2>p>This project helps in calculating the frequency offset cause by heating of local oscillators of your SDR (Software Defined Radio) using some reference signals like DAB+, GSM, DVB-T, etc./p>p>Link to its a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/tree/ayush_dev target_blank>GitHub Repository/a>./p>p>This project is extended by a relnoreferrer noopener hrefhttps://www.linkedin.com/in/ayush-singh-101/ target_blank>Ayush Singh/a> under the guidance of a hrefhttps://www.linkedin.com/in/andreas-hornig-253b2818/>Andreas Hornig/a> as mentor from a hrefhttp://AerospaceResearch.net>AerospaceResearch.net/a> as a project in a hrefhttps://summerofcode.withgoogle.com/projects/#5471310416707584>Google Summer of Code./a>/p>h2 classwp-block-heading>Usage of Tool :/h2>div classwp-block-group>div classwp-block-group__inner-container is-layout-flow>ul>li>Clone the GitHub Repository to your local machine./li>li>Run the setup.py/li>li>Once setup is done. Follow this –/li>/ul>figure classwp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio>div classwp-block-embed__wrapper>iframe loadinglazy titleCalibrateSDR - DVB-T Demo || GSoC'21 width840 height473 srchttps://www.youtube.com/embed/eU5HujgtinA?start180&featureoembed frameborder0 allowaccelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture allowfullscreen>/iframe>/div>/figure>/div>/div>p>Now you know the PPM shift of your device. You can now use it to do bunch of different things with you SDR./p>p>ALL THE BEST for your project./p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/355aa6121a428679d3076b0d5d81a62a?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/355aa6121a428679d3076b0d5d81a62a?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author32>ayush/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2347 relbookmark>time classentry-date published datetime2021-08-21T20:09:00+02:00>21. August 2021/time>time classupdated datetime2021-08-23T12:27:06+02:00>23. August 2021/time>/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2347#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC’21 : Calibrate-SDR DVB-T for calibration/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2347 -->article idpost-2242 classpost-2242 post type-post status-publish format-standard hentry category-allgemein tag-calibratesdr tag-dvb tag-dvb-t tag-etsi tag-sdr> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2242 relbookmark>GSoC’21|Calibrate-SDR|Ayush DVB-T for calibration/a>/h2> /header>!-- .entry-header --> div classentry-content> p>Hi everyone. I am writing this blog to share my work progress with everyone out there./p>p>I have been working on extending the limitations in thestrong> Calibrate-SDR/strong> tool by adding support of strong>DVB-T/strong> andstrong> DVB-T2/strong> (terrestrial) signals. Because these signals are broadly used in Europe, Africa, Australia, and Asia region. So can be used here to provide calibration to more SDR users./p>p>Visit here –a hrefhttp://www.dtvstatus.net/map/map.html target_blank relnoreferrer noopener> http://www.dtvstatus.net/map/map.html/a>/p>figure classwp-block-image size-large>img decodingasync srchttps://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Digital_terrestrial_television_standards.svg/1920px-Digital_terrestrial_television_standards.svg.png alt/>/figure>h2 classwp-block-heading>So the question arises What exactly I’m I doing?/h2>figure classwp-block-image size-large>img decodingasync srchttps://media.giphy.com/media/LOttplMcMFDxevJsLH/giphy.gif alt/>/figure>p>/p>p>As many of you would have worked on some sort of SDRs, might have faced errors due to the Frequency Offset of the Device(due to Crystal oscillators heating). /p>p>So here we have a tool named Calibrate-SDR to save you from correcting frequency offset repetitively. Calibrate -SDR is based on the idea of synchronization of devices by a constant frequency part present in the signal. This tool currently uses DAB+ signals to calculate the PPM shifting in frequency. I am enhancing it by using the DVB-T signal for this purpose and try to help more people out there. /p>p>Further reading about initial Calibrate-SDR refer to this a relnoreferrer noopener hrefhttps://aerospaceresearch.net/?page_id2111 data-typeURL data-idhttps://aerospaceresearch.net/?page_id2111 target_blank>blog/a>./p>h2 classwp-block-heading>Some words of wisdom about DVB-T signal/h2>blockquote classwp-block-quote has-text-align-left is-style-default>p>strong>DVB-T/strong>, short for strong>Digital Video Broadcasting — Terrestrial/strong>, is the a hrefhttps://en.wikipedia.org/wiki/Digital_Video_Broadcasting>DVB/a> European-based consortium standard for the broadcast transmission of a hrefhttps://en.wikipedia.org/wiki/Digital_terrestrial_television>digital terrestrial television/a> that was first published in 1997sup>a hrefhttps://en.wikipedia.org/wiki/DVB-T#cite_note-1>1/a>/sup> and first broadcast in a hrefhttps://en.wikipedia.org/wiki/Singapore>Singapore/a> in February 1998. This system transmits compressed digital audio, digital video, and other data in a a hrefhttps://en.wikipedia.org/wiki/MPEG_transport_stream>MPEG transport stream/a>, using coded a hrefhttps://en.wikipedia.org/wiki/Orthogonal_frequency-division_multiplexing>orthogonal frequency-division multiplexing/a> (COFDM or OFDM) modulation. It is also the format widely used worldwide (including North America) for a hrefhttps://en.wikipedia.org/wiki/Electronic_news-gathering>Electronic News Gathering/a> for transmission of video and audio from a mobile newsgathering vehicle to a central receive point./p>cite>Wikipedia/cite>/blockquote>p>Thanks to Wikipedia for providing historical details about this signal./p>h2 classwp-block-heading>Some Technical Details about signal./h2>p>Would suggest reading the technical standard for more detailed idea about it./p>p>a hrefhttps://www.etsi.org/deliver/etsi_en/300700_300799/300744/01.06.02_60/en_300744v010602p.pdf>https://www.etsi.org/deliver/etsi_en/300700_300799/300744/01.06.02_60/en_300744v010602p.pdf/a>/p>p>I would cover only the part that was of value for me. Going through this paper and some research. I found out that DVB-T signals have a constant part called pilot inside the ODFM frame structure of DVB-T./p>p>/p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/Screenshot-from-2021-04-12-08-55-31.png alt classwp-image-2277 width788 height529/>figcaption>Visit etsi.org for better image./figcaption>/figure>p>/p>p>So in addition to the transmitted data an OFDM frame contains: /p>p>– scattered pilot cells;/p>p>– continual pilot carriers;/p>p>– TPS carriers./p>p>The modulation of all data cells is normalized so that Ec × c∗ 1. /p>p>All cells which are continual or scattered pilots are transmitted at “boosted power level” so that for these Ec ×c∗ 16/9./p>p>The pilots can be used for strong>frame synchronization, frequency synchronization, time synchronization, channel estimation, transmission mode identification and can also be used to follow the phase noise./strong>/p>p>The carriers are determined by Kmin 0 and Kmax 1 704 in2K mode and 6 816 in 8K mode respectively. The spacing between adjacent carriers is 1/TU while the spacing between carriers Kmin and Kmax are determined by (K-1)/TU. /p>figure classwp-block-image size-large>img decodingasync loadinglazy width720 height349 srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/Screenshot-from-2021-04-12-08-57-29.png alt classwp-image-2278/>/figure>p>The numerical values for the OFDM parameters for the 8K and2K modes are given in tables for 8 MHz channels, for 6 MHz and 7 MHz channels./p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/Screenshot-from-2021-07-10-16-46-39.png alt classwp-image-2279 width800 height257/>/figure>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/Screenshot-from-2021-07-10-16-47-27.png alt classwp-image-2280 width745 height322/>/figure>p>/p>p>strong>We would collect some continual pilots and average them to get an overall current frequency. We would create an array of all the indexes of the continual pilot and use it./strong>/p>p>/p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/Screenshot-from-2021-07-10-16-51-43.png alt classwp-image-2281 width760 height585/>/figure>p>/p>p>strong>Then we would subtract them with the known frequency of DVB-T. Hence, we would have the PPM shift./strong> So that’s much of what we are doing for our tool./p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://media.giphy.com/media/mF4k0YXIHDHzy/giphy.gif alt width528 height270/>/figure>blockquote classwp-block-quote is-style-default>p>It’s more interesting to work on once done with the boring Research work./p>cite>Anonymous Developer/cite>/blockquote>h2 classwp-block-heading>Links –/h2>p>Link to working repository is – a hrefhttps://github.com/AerospaceResearch/CalibrateSDR/tree/dvbt>https://github.com/AerospaceResearch/CalibrateSDR/tree/dvbt/a>/p>p>I am attaching a test file too for a better understanding of this tool. a hrefhttps://drive.google.com/drive/folders/19BxJ7DT6eu2dSEiKtyuir_98aO1qZTPO?uspsharing data-typeURL data-idhttps://drive.google.com/drive/folders/19BxJ7DT6eu2dSEiKtyuir_98aO1qZTPO?uspsharing> Test file/a>/p>p>Some more paper –/p>p>a hrefhttps://ca.rstenpresser.de/~cpresser/tmp/dvbt_7_paper.pdf>https://ca.rstenpresser.de/~cpresser/tmp/dvbt_7_paper.pdf/a>/p>p>a hrefhttps://www.ese.wustl.edu/~nehorai/paper/Radar_Harms.pdf>https://www.ese.wustl.edu/~nehorai/paper/Radar_Harms.pdf/a>/p>p>a hrefhttp://ntur.lib.ntu.edu.tw/bitstream/246246/200704191002918/1/01258670.pdf>http://ntur.lib.ntu.edu.tw/bitstream/246246/200704191002918/1/01258670.pdf/a>/p>h2 classwp-block-heading>More Chat on-/h2>p>a hrefhttps://www.linkedin.com/in/ayush-singh-101/>https://www.linkedin.com/in/ayush-singh-101//a>/p>p>a hrefhttps://aerospaceresearch.zulipchat.com/#narrow/stream/281823-CalibrateSDR/topic/Signal.3A.20DVB-T>https://aerospaceresearch.zulipchat.com/#narrow/stream/281823-CalibrateSDR/topic/Signal.3A.20DVB-T/a>/p>figure classwp-block-image size-large>img decodingasync srchttps://media.giphy.com/media/KctrWMQ7u9D2du0YmD/giphy.gif alt/>/figure> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/355aa6121a428679d3076b0d5d81a62a?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/355aa6121a428679d3076b0d5d81a62a?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author32>ayush/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2242 relbookmark>time classentry-date published updated datetime2021-07-18T13:44:00+02:00>18. Juli 2021/time>/a>/span>span classtags-links>span classscreen-reader-text>Schlagwörter /span>a hrefhttps://aerospaceresearch.net/?tagcalibratesdr reltag>CalibrateSDR/a>, a hrefhttps://aerospaceresearch.net/?tagdvb reltag>DVB/a>, a hrefhttps://aerospaceresearch.net/?tagdvb-t reltag>DVB-T/a>, a hrefhttps://aerospaceresearch.net/?tagetsi reltag>Etsi/a>, a hrefhttps://aerospaceresearch.net/?tagsdr reltag>SDR/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2242#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC’21|Calibrate-SDR|Ayush DVB-T for calibration/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2242 -->article idpost-2208 classpost-2208 post type-post status-publish format-standard has-post-thumbnail hentry category-allgemein tag-calibratesdr tag-gsoc tag-signals> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2208 relbookmark>GSoC2021 CalibrateSDR GSM Support – first coding period/a>/h2> /header>!-- .entry-header --> a classpost-thumbnail hrefhttps://aerospaceresearch.net/?p2208 aria-hiddentrue> img width1200 height676 srchttps://aerospaceresearch.net/wp-content/uploads/2021/06/CalibrateSDR-1.png classattachment-post-thumbnail size-post-thumbnail wp-post-image altGSoC2021 CalibrateSDR GSM Support – first coding period decodingasync loadinglazy sizes(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 60vw, (max-width: 1362px) 62vw, 840px /> /a> div classentry-content> h2 classwp-block-heading>Introduction/h2>p>strong>CalibrateSDR/strong> developed by a hrefhttps://github.com/hornig>Andreas/a>a hrefhttps://github.com/hornig target_blank relnoreferrer noopener> /a>a hrefhttps://github.com/hornig>Hornig/a> is working perfectly with signals DAB+. We can use the python program to calibrate SDR devices. As part of the Google Summer of Code, I have been working around GSM Signal Standard to make CalibrateSDR compatible with it./p>p>Before moving on, please read the a hrefhttps://aerospaceresearch.net/?page_id2111>initial/a>a relnoreferrer noopener hrefhttps://aerospaceresearch.net/?page_id2111 target_blank> /a>a hrefhttps://aerospaceresearch.net/?page_id2111>blog/a> on using CalibrateSDR, written by our mentor. The primary focus of this project is to extend the applicability towards more signal standards, so as to make it helpful for the SDR community. As DAB+ is mainly used in Europe, Signal standards like GSM, LTE, NOAA-Weather Satellites (use their sync pulses within the data) can be used. /p>p>Currently, it uses the pyrtlsdr package, which makes it work with RTL-SDR. Piping the API to work with other SDRs will also make the project have a wide range of applications in the SDR Community. /p>p>My first weeks of coding relied generally on implementing GSM signals. Working with the GSM frequency correction channel to calculate the offset is my primary task./p>div classwp-block-image>figure classaligncenter size-large>img decodingasync loadinglazy width720 height540 srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/CalibrateSDRAerospaceResearch-Jayaraj-J.png alt classwp-image-2260/>figcaption>Proposed final working of CalibrateSDR/figcaption>/figure>/div>h2 classwp-block-heading>Working of GSM to calibrate the SDRs/h2>p>GSM uses time division to share a frequency channel among users. Each frequency is divided into blocks of time that are known as time-slots. There are 8 time-slots that are numbers TS0 – TS7. Each time slot lasts about 576.9 μs. The bit rate is 270.833 kb/s, a total of 156.25 bits can be transmitted in each slot. /p>p>Each slot allocates 8.25 of its „bits time“ as guard-time, split between the beginning and the end of each time slot. Data transmitted within each time slot is called a burst. There are several types of bursts. /p>p>„Frequency correction“ burst, which is a burst of a pure frequency tone at 1/4th the bitrate of GSM or (1625000 / 6) / 4 67708.3 Hz. By searching a channel for this pure tone, we can determine its clock offset by determining how far away from 67708.3Hz the received frequency is./p>h3 classwp-block-heading>How is it working?/h3>p>A more robust way is to implement a hybrid of the FFT and filter methods. We could use the adaptive filter as described in the paper: G. Narendra Varma, Usha Sahu, G. Prabhu Charanem>, Robust Frequency Burst Detection Algorithm for GSM/GPRS (/em>a hrefhttps://ieeexplore.ieee.org/document/1404796>em>https://ieeexplore.ieee.org/document/1404796/em>/a>em>)/em>/p>p>After finding the position of FCCH bursts that we receive in SDRs, it will be easy to calculate the offset. We measure it by how much shifted is the FCCH burst, than what we expect, that is at 67708.3 Hz from the frequency centre. Simply, if no offset is there, we could see these tone bursts at 67708.3 Hz offset with respect to the centre frequency of the channel./p>p>I have completed the program to output the channel frequencies from the given a relnoreferrer noopener hrefhttps://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number data-typeURL data-idhttps://en.wikipedia.org/wiki/Absolute_radio-frequency_channel_number target_blank>ARFCN numbers/a> of GSM. Check the code for the a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/arfcn_freq.py data-typeURL data-idhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/arfcn_freq.py target_blank>same here/a>. /p>h5 classwp-block-heading>Detect and visualize the FCCH bursts!/h5>p>br>Currently, the program has been tested only with IQ Wav file recordings. Even though the code has been designed to work with RTLSDR sticks, it is not tested yet with a live connection. Find the link to test files a relnoreferrer noopener hrefhttps://drive.google.com/drive/folders/1tO7BR6EpReL1ratUfFycQoZyVkYU10B4?uspsharing data-typeURL data-idhttps://drive.google.com/drive/folders/1tO7BR6EpReL1ratUfFycQoZyVkYU10B4?uspsharing target_blank>here/a>./p>p>After cloning the repo locally, run the setup to install the requirements using the command: code>python setup.py install/code>/p>p>To test with GSM files, run:/p>pre classwp-block-code>code>python cali.py -m gsm -f <location of wav file> -rs <sampling rate> -fc <frequency center>/code>/pre>p>First, we will get the plot of the strong>average power spectrum/strong> plot. Play with the code to increase the N value, and you can see the sharpness of the line./p>p classhas-text-align-center>img decodingasync loadinglazy width488 height278 srchttps://lh5.googleusercontent.com/VBlZ-uUXlQqOHUFL9uqWbNHA5wCvyUBu2O0nGc6fZ_byErJgcFYBHyWKKSmYNgO4tTQJRWhB9tueG5mvtg-mIo8DKOPHyxr6YOk3gFkY6CevULNOjH8DBryXNgnu4TTn9p7OQ2VN>/p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/output.png alt classwp-image-2268 width890 height265/>/figure>p>The figure above shows the strong>TDMA frames/strong> generated by the GSM Signal./p>p>To determine the FCCH bursts from the signal, plot the spectrogram, using the function present in a relnoreferrer noopener hrefhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/gsm.py data-typeURL data-idhttps://github.com/aerospaceresearch/CalibrateSDR/blob/jyrj_dev/calibratesdr/gsm/gsm.py target_blank>gsm.py/a>. The spectrogram_plot function will do the fft and outputs the figure. /p>p>The generated FCCH bursts detection can be visualized as shown below:/p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/Figure_1.jpg alt classwp-image-2271 width1092 height409/>/figure>p>We can see the pure tone FCCH bursts are occurring at specific intervals and can be visualized as small blue dots at a range of 0.25 from the centre./p>p>Thus implementation of a filter bank and calculating the positions of these FCCH bursts will give us the offset frequency since we know these FCCH bursts occur at a distance of 67708.3 Hz from the frequency centre./p>p>Will update the code after testing with gsm channels, and the function to calculate the final frequency offset will be committed to the repo./p>p>The workarounds for the second coding period are implementation of LTE and NWS as well as the bridging of a more generalised SDR API, SoapySDR API, which has Python bindings to use as well./p>p>Find out the project updates in my branch here: a hrefhttps://github.com/aerospaceresearch/CalibrateSDR/tree/jyrj_dev target_blank relnoreferrer noopener>https://github.com/aerospaceresearch/CalibrateSDR/tree/jyrj_dev/a>/p>p>em>References:/em>/p>ul>li>a relnoreferrer noopener hrefhttps://jyrj.hashnode.dev/how-i-got-selected-for-gsoc target_blank>https://jyrj.hashnode.dev/how-i-got-selected-for-gsoc/a> em>– First blog/em>/li>li>a relnoreferrer noopener hrefhttps://aerospaceresearch.zulipchat.com/#narrow/stream/281823-CalibrateSDR target_blank>https://aerospaceresearch.zulipchat.com/#narrow/stream/281823-CalibrateSDR/a> em>– Chat stream for the project/em>/li>li>a relnoreferrer noopener hrefhttps://greenteapress.com/wp/think-dsp/ target_blank>https://greenteapress.com/wp/think-dsp/ /a>em>– For anyone who likes to start with digital signal processing/em>/li>li>a hrefhttps://pysdr.org/index.html>https://pysdr.org/index.html/a> – A simple guide to learning the basics of SDRs and DSP/li>/ul>p>/p> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/36fe9df88a46e1cb02ca1008d00ed799?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/36fe9df88a46e1cb02ca1008d00ed799?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author29>jayaraj/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2208 relbookmark>time classentry-date published datetime2021-07-15T21:09:46+02:00>15. Juli 2021/time>time classupdated datetime2021-07-18T13:46:05+02:00>18. Juli 2021/time>/a>/span>span classtags-links>span classscreen-reader-text>Schlagwörter /span>a hrefhttps://aerospaceresearch.net/?tagcalibratesdr reltag>CalibrateSDR/a>, a hrefhttps://aerospaceresearch.net/?taggsoc reltag>GSoC/a>, a hrefhttps://aerospaceresearch.net/?tagsignals reltag>signals/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2208#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC2021 CalibrateSDR GSM Support – first coding period/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2208 -->article idpost-2251 classpost-2251 post type-post status-publish format-standard hentry category-allgemein> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2251 relbookmark>GSoC2021: findsatbyrf Summary of the first 5 weeks/a>/h2> /header>!-- .entry-header --> div classentry-content> p classhas-text-align-right>em>By /em>Binh-Minh Tran-Huu on 2021-07-15/p>ol>li>strong>Introduction/strong>/li>/ol>p>Because of the recent sharp growth of the satellite industry, it is necessary to have free, accessible, open-source software to analyze satellite signals and track them. To achieve that, as one of the most essential steps, those applications must calculate the exact centers of the input satellite signals in the frequency domain. My project is initiated to accommodate this requirement. It aims to provide a program that can reliably detect satellite signals and find their exact frequency centers with high precision, thus providing important signal analysis and satellite tracking statistics./p>ol start2>li>strong>Overview/strong>/li>/ol>p>The project aims to locate the exact centers of given satellite signals with the desired accuracy of 1kHz, based on several different methods of finding the center. At first, the center-of-mass approach will be used to determine the rough location of the center. More algorithms will be applied from that location depending on the type of the signal to find the signal center with higher accuracy. /p>p>Currently, for many NOAA signals, with the center-of-mass and “signal peak finding” approach (that will be shown below), we can get results with standard errors less than 1 kHz. For example, with the following signal, the standard error is 0.00378 kHz./p>figure classwp-block-image size-large>img decodingasync loadinglazy width3000 height1140 srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/UnknownNOAA-2.png alt classwp-image-2286/>/figure>ol start3>li>strong>Theoretical basis/strong>/li>/ol>p>The overall flowchartimg decodingasync loadinglazy srchttps://lh3.googleusercontent.com/An2HWi_YSHVENU25Amn1A-gVCeSE-0lP-cl_NXfuMK5NhRs4G-P3lUKXilaV1koBIG6wk_kMB1p7ogzgM-GOmFWM7Lir1QkLLSOXWlcIqBHoQOjbBPfL9QriZdHKQjIcXHm5cFj- width624 height547>/p>ol>li>Fast-Fourier Transform (FFT)/li>/ol>p>Fourier Transform is a well-known algorithm to transform a signal from the time domain into the frequency domain. It extracts all the frequencies and their contributions to the total actual signal. More information could be found at a hrefhttps://en.wikipedia.org/wiki/Fourier_transform>Discrete Fourier transform/a>. /p>p>Fast-Fourier Transform is Fourier Transform but uses intelligent ways to reduce the time complexity, thus reducing the time it takes to transform the signal./p>ol start2>li>Noise reduction and background signal reset/li>/ol>p>There is always noise in actual signals, but generally, noise has two important characteristics: normally distributed and its amplitude does not change much by frequency. You can see the signal noise in the following figure:/p>figure classwp-block-image is-resized>img decodingasync loadinglazy srchttps://lh6.googleusercontent.com/KwmDx0Kyq0NfK1H9SH2V6CXdEiSdWzufuUULBK_XtFbB2_ziY3DJ37w4UeNYEm28CGQNRwmk3VuNDA3PGgTEJ-SJJHIUQA6MfD-5P5Y4azeucnYPIWbksop2zV_VDiKwhTPWI0C3 alt width541 height274/>/figure>p>If we can divide the signal in the frequency domain into many parts such that we are sure that at least one of them contains only noise, we can use that part to determine the strength of the noise./p>p>For example, consider only this signal segment:img decodingasync loadinglazy srchttps://lh5.googleusercontent.com/24JKDkE2Uz3VvVPzo4p8PUHOP2gbXzGm7ETj6_XH2jRWbXEh-bGyq_xTnRCUx_s1N0wAm9zdrLbE9oDh7H9Y-ULXSKM-NCE8IAHHgcLbYVgm34ZSsyNrOjpJJSDEWlOkC8Naf15l width76 height68>/p>p>By taking its average, we can find where the noise is located relative to the amplitude 0. By subtracting the whole signal to this average, we can ensure the noise all lies around the zero amplitude./p>figure classwp-block-image>img decodingasync srchttps://lh3.googleusercontent.com/0chdna-P1x5Oj4EQSZCrpm7_dpZwxEEklG8tSixE14dV1J_oj6koxaoXmmvH-oqKAaXRwvhevI7GfQq2pJfU49um9JfI6bcSBISpSz64-xoju6AipLtogOsHoQ7Iy2fII5x4-cTS alt/>/figure>p>Next, we want to reduce all the noise to zero. To do that, we consider the distribution of noise, which is a normal distribution./p>figure classwp-block-image is-resized>img decodingasync loadinglazy srchttps://lh3.googleusercontent.com/J3h0OvWhjow-Dhd2DjpmC819eHX0nVjx9zDU1wY2T1ohLSwXZNh1Br2020ufOuLTNJOKkwEnKGzc3uTVRPbR25xadZtRNBUtxQ5bK2seoTlPB5pojc8bq7c9Um2JTH2ugxAn7nbG alt width415 height308/>/figure>p>Photo from a hrefhttps://sphweb.bumc.bu.edu/otlt/MPH-Modules/PH717-QuantCore/PH717-Module6-RandomError/PH717-Module6-RandomError5.html>Characteristics of a Normal Distribution/a>./p>p>From this distribution, we are sure that 99.9% of noise has an amplitude less than three times the noise standard deviation. If we shift the whole signal down by 3 times this standard deviation, 99.9% of the noise will have amplitude less than 0./p>p>From there, we can just remove every part of the signal with an amplitude less than zero. Then we will be able to get a signal without noise with the background having been reset to 0. /p>p>You can clearly see the effect of this algorithm by looking at the signal of PIXL1 satellite above, where all the noise has been shifted to below 0./p>ol start3>li>Center-of-mass centering/li>/ol>p>This algorithm is simple, the centroid position is calculated as (sum of (amplitude x position)) / (sum of amplitude), similar to how we calculate the center of mass in physics. The result of this algorithm is called the spectral centroid, more information could be found at a hrefhttps://en.wikipedia.org/wiki/Spectral_centroid>Spectral centroid/a>./p>ol start4>li>Peak finding./li>/ol>p>For signals with clear peaks such as APT(NOAA), finding the exact central peak points of the signal would give us good results. From the rough location of the center by the Center-of-mass method, we can scan for its neighbor to find the maximum peak. This peak will be the center of the signal that we want to find. /p>p>For APT signals, this peak is very narrow, therefore this method is able to give us very high precision./p>ol start5>li>Predicted signal centers from TLE/li>/ol>p>TLE (Two-line element set) information of a satellite can be used to determine the position and velocity of that satellite in the orbit. By using this data of position and velocity, we can calculate the relativistic Doppler effect caused by the location and movement of the satellite to calculate the signal frequency that we expect to receive on the ground./p>ol start6>li>Error calculation./li>/ol>p>Assume TLE gives us the correct result of signal center, we can calculate the standard error of the result by calculating the standard deviation:/p>figure classwp-block-image>img decodingasync srchttps://lh6.googleusercontent.com/_-BgOSrYOnlcS5BkJgzd77jmLDHZ6tl3IMDl9uWZ1u0HCSTFSddsmMYLA1RgVBeIIYr8f2v-_Tk740mddQUVBXrf9vFYg9shSbJeQZTzGzbZGyyNVaAyNQBgWkZmJWts-TWs8dS7 alt/>/figure>p>Where n is the number of samples, x_i is the difference between our calculated center frequency from .wav and the frequency we get from TLE./p>ol start4>li>strong>Implementation in code:/strong>/li>/ol>p>a hrefhttps://github.com/aerospaceresearch/findsatbyrf/tree/bm_dev>https://github.com/aerospaceresearch/findsatbyrf/tree/bm_dev/a>/p>ul>li>main.py is where initial parameters are stored. The program is executed when this file is run./li>li>tracker.py stores the Signal object, which is the python object that stores every information about a signal and the functions to find its center./li>li>tools.py contains the functions necessary for our calculation and the TLE object used for center prediction./li>li>signal_io.py stores functions and objects related to the input and output of our signal./li>/ul>ol start5>li>strong>Current results:/strong> For APT(NOAA):/li>/ol>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/UnknownNOAA-3.png alt classwp-image-2287 width604 height229/>/figure>p>Standard error 0.00378 kHz/p>ol start6>li>strong>Usage instruction/strong>:ol>li>Create a folder with the name of your choice in the ‘findsat’ folder, for example, ‘data’./li>li>Put the .wav file of your signal in this folder with any name. /li>li>Put a satellite.tle file in the folder containing the TLE of your satellite./li>li>Put a station.txt file in the folder containing the name and location of the ground station where you recorded the signal separated by a “”, for example (The numbers should be in degrees and meters):/li>li>Change the content of main.py as instructed in the code, then run main.py. The result will be put in your ‘data’ folder./li>/ol>/li>/ol>blockquote classwp-block-quote>p>name Stuttgart/p>p>long 9.2356/p>p>lat 48.777/p>p>alt 200.0/p>cite>Example of station.txt/cite>/blockquote>div classwp-block-group>div classwp-block-group__inner-container is-layout-flow>p>strong>Future improvements/strong>/p>ul>li>Enable running the program directly from the command line instead of opening a python file before running./li>li>Add more methods to find the signal centers for other signal types./li>/ul>p>strong>Demonstration of the code./strong> This type of video consumes too much memory therefore it is not used anymore, but this function could be reintroduced in the future./p>/div>/div>figure classwp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio>div classwp-block-embed__wrapper>iframe loadinglazy titleAPT signal from findsatbyrf width840 height630 srchttps://www.youtube.com/embed/GA907aWhWGA?featureoembed frameborder0 allowaccelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture allowfullscreen>/iframe>/div>figcaption>Code demonstration/figcaption>/figure> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/a7c30a8e4c5cf039049a90d3ccae8d00?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/a7c30a8e4c5cf039049a90d3ccae8d00?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author31>binhminh/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2251 relbookmark>time classentry-date published datetime2021-07-14T17:28:51+02:00>14. Juli 2021/time>time classupdated datetime2021-07-18T21:14:32+02:00>18. Juli 2021/time>/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2251#respond>Schreibe einen Kommentarspan classscreen-reader-text> zu GSoC2021: findsatbyrf Summary of the first 5 weeks/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2251 -->article idpost-2211 classpost-2211 post type-post status-publish format-standard hentry category-allgemein> header classentry-header> h2 classentry-title>a hrefhttps://aerospaceresearch.net/?p2211 relbookmark>Implementation of data analysis compilation interface in a satellite monitoring simulator/a>/h2> /header>!-- .entry-header --> div classentry-content> figure classwp-block-image size-large>img decodingasync loadinglazy width780 height442 srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/image-7.png alt classwp-image-2239/>/figure>p classhas-medium-font-size>strong>What is a cubesat? /strong>/p>p classhas-text-align-left>It consists of a modular cube of 10x10x10 cm with a mass of 1.33 kg, which is known as 1-unit (1U) CubeSat./p>p classhas-text-align-left>Cubesats were created to provide a low-cost, flexible and quick-build alternative to reach the space, in a few words a cubesat is a satellite with a cubic form./p>div classwp-block-image is-style-rounded>figure classaligncenter is-resized>img decodingasync loadinglazy srchttps://vsgc.odu.edu/virginiacubesatconstellation/wp-content/uploads/sites/7/2018/05/Libertas-on-orbit-render.png altVirginia CubeSat Constellation width298 height204/>/figure>/div>p>Cubesat are now affordable tools for teaching and researching for Universities and Research Centers. Although they are simple platforms, their complexity can be increased. Simulation of the capability of these subsystems is the first step to assess the convenience to include such subsystems in a platform.em> /em>In this case, Implementation of sensor and actuator models in a CubeSat Simulator and visualization./p>p classhas-dark-gray-color has-text-color has-medium-font-size>strong>Software and hardware specifications and parameters: /strong>/p>p>The parameters were selected by Javier Sanz Lobo in his master thesis “ Design of a Failure Detection Isolation and Recovery System for Cubesats“/p>p>LEO ( Low earth orbit) was selected by its highly demanding orbit maintenance and pointing accuracy. The satellite selected to perform is a 2U CubeSat.br>Therefore, its size is 10x20x10 cm, and it weights 2.66 kg. The image illustrates the relative position of the main elements with respect to the body axis, the Earth and the orbit motion. The propulsion system was placed in the opposite face to the orbit motion to counteract the drag and the optical payload pointing to nadir(a selected face to always be syncronized to Earth). /p>p>Example proposed in master thesis:/p>div classwp-block-image>figure classaligncenter size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/06/image.png alt classwp-image-2213 width401 height270/>/figure>/div>p classhas-medium-font-size>strong>Internally and intrinsically how does the software work?/strong>/p>p>Attitude and Orbital Control System Elements included for calculations summary/p>ul>li>1.Control ul>li>1.1 Attitude control ul>li>1.1.1 Attitude controller, magnertorquer, reaction wheel allocation, reaction wheel controller and reaction wheel model./li>/ul>/li>li>1.2 Orbit Controllul>li>1.2.1 Thruster allocation, orbit controller and thruster model /li>/ul>/li>/ul>/li>li>2. Dynamicsul>li>2.1 Six degree of freedom model: attitude dynamics and kinematics(with quaternions evolution)/li>li>2.2 Environmentul>li>2.2.1 Atmospheric drag, gravity gradient torque, J2 perturbation, magnetic torque and third body perturbation/li>/ul>/li>li>2.3 Keplerian Orbit: Vectors normalizations/li>/ul>/li>li>3. FDIR: with frozen and/or sudden death signals included if desiredul>li> 3.1Gyroscopes FDIR (Control panel included)/li>li> 3.2 Reaction Wheels FDIR (Control panel included)/li>li>3.3 Thrusters FDIR (Control panel included)/li>/ul>/li>li>4. Guidanceul>li>4.1 Directions cosine matrix to quaternions (positive and negative traces included)/li>/ul>/li>li>5. Navigation: Sensors and actuators included. ul>li>5.1 Attitude Filter, GNSS, Gyroscope, Orbit Filter, and startracker/li>/ul>/li>li>6. Visualization: 3D orbit, groundtrack and COE/li>/ul>p>Interface created with improved and modifiables 3D models: /p>p>Input data:/p>figure classwp-block-image size-large>img decodingasync loadinglazy width589 height608 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-2.png alt classwp-image-2331/>/figure>p>Output interface results:/p>figure classwp-block-image size-large>img decodingasync loadinglazy width589 height591 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-3.png alt classwp-image-2332/>/figure>p>Expected Visualization Results:/p>figure classwp-block-image size-large>img decodingasync loadinglazy width475 height432 srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/image-10.png alt classwp-image-2292/>/figure>figure classwp-block-image size-large>img decodingasync loadinglazy width601 height323 srchttps://aerospaceresearch.net/wp-content/uploads/2021/07/image-11.png alt classwp-image-2293/>/figure>p>Orbit plot/p>figure classwp-block-image size-large>img decodingasync loadinglazy width903 height468 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image.png alt classwp-image-2303/>/figure>p>Desired Orbit Plot/p>figure classwp-block-image size-large>img decodingasync loadinglazy width883 height475 srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-1.png alt classwp-image-2304/>/figure>p>Download code: /p>p>a hrefhttps://github.com/msanrivo/SmallSat_FDIR/pull/4/commits>https://github.com/msanrivo/SmallSat_FDIR/pull/4/commits/a>/p>figure classwp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio>div classwp-block-embed__wrapper>iframe loadinglazy titleImplementation of data analysis compilation interface in a satellite monitoring simulator 2 width840 height473 srchttps://www.youtube.com/embed/wEGkyNIu1Dc?featureoembed frameborder0 allowaccelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture allowfullscreen>/iframe>/div>/figure>p>a hrefhttps://summerofcode.withgoogle.com/projects/?sp-searchR.David%20A#4750821465522176>https://summerofcode.withgoogle.com/projects/?sp-searchR.David%20A#4750821465522176/a>/p>p classhas-large-font-size>strong>Google summer of code journey and experience/strong>:/p>p>/p>p>It was one of the best experiences I have had, talking and working with leaders in the technology, computer and aerospace industry has given me a lot of feedback. Let’s start from the beginning, I do not remember how I found the call by chance scrolling on the internet in leisure time, it caught my attention a lot, but I thought it would be very difficult to enter, then I saw that there were only two days left to apply to what I put my hands on the work, I took a bit of each project that I had already worked on and uploaded my proposal, a few weeks later I realized that it had been accepted and I was inside, I couldn’t believe it since it was a very hasty proposal./p>p>The person in charge of aerospaceresearch contacted us in the following days, always very kind and cordial, when he invited us to the zulip group, I realized that there were many applicants with incredible ideas who have planned their projects months in advance and failed to enter, that was what made me think it would be even more difficult than I thought, but I was up for the challenge./p>p>We started working and the weeks went by while I was still at the university, sometimes I didn’t have time for anything since I had to do a lot of research for what we would implement in the gsoc./p>p>Initially the idea and what I was selected for was to implement sensors and actuators in a software for cubesat, which would be my surprise that the final turn was completely different, we went through that idea to a virtual reality simulator for the results of the software, weeks passed and I began to make the models, it was very difficult since I had never entered this area, nor had I ever used Matlab, after several meetings, we realized that it would not be the best implementation to the software, since if it counted with a display environment, although simple, useful. Finally, and after several ideas, the end was to create an interface, an application, user-friendly software to use the program in Matlab, since its use was really complex, even for certain experienced aerospace engineers, the thesis had to be read and spend several days to understand how the software worked and how to edit it, how to edit the input data./p>p>Within the program, there were several files in Matlab and others in simulink, approximately 80 in total, with editable and non-editable data, it was a huge challenge./p>p>There were many preliminary ideas of how the interface would be, what would be modifiable and how it would be done without affecting the code, initially with physical properties of the cubesat, dynamic properties of the orbit, among others; the approach was good, but after making all this data editable, Matlab flagged hundreds of errors, we had a good idea but we weren’t executing it in the best way, instead of letting the user modify the mass at desired, we agreed on do it in cubesat units from 1 to 27, since to control the centers of mass it has to be geometrically distributed and it cannot be a random mass, I did not know that until my expert mentor on the subject told me about it. After that, there were many problems about the execution of data that did not enter the workspace correctly, they entered as strings instead of arrays, horizontal instead of vertical. The biggest challenge was always to send the data and return it, without the software marking an error, the part of displaying the results was the last challenge, since it was necessary to activate and deactivate blocks in simulink, for which many had to be created iterative cycles with codes./p>p classhas-medium-font-size>strong>Summary improvements:/strong>/p>p>The work achieved in the GSOC was brutal, with incredible results, the graphic interface was a success, and from a complex program that only the creator understood, an interface was achieved that would allow the user to edit the data and apply it to different scenarios that they may interest you or arise in their trajectories, the application runs directly from the app designer and you do not have to guess which files you have to preload for it to work, there is also the part of default data that allows you to see how the pre-established case is and understand how it works. Enter the data, now, you do not have to enter to edit or Matlab or simulink to comment, uncomment, edit, and change everything, everything is executed only from the app designer, allowing the user to create an infinite number of cases and applications than before, they could not and adjust it to any needs./p>figure classwp-block-embed>div classwp-block-embed__wrapper>https://github.com/msanrivo/SmallSat_FDIR/pull/4/div>/figure>p classhas-medium-font-size>strong>Future work:/strong>/p>p>Perfection is never achieved, there are always things that can be improved, in this case, there are still certain limitations not only in the base software but in the interface created, one of them is to export all the code to an application or open source code, so that it is open to all public and not only for people with a Matlab license. Also to this, one of the limitations is that when running the program, there are certain data in the simulink that are saved and the second time when using it, in order to erase these data from the previous execution, they have to be erased only by closing and opening the simulink file, which can be a bit tedious, in the Matlab workspace part this is solved. Another limitation is that you have to have the simulink file open to be able to run the app, although you should not edit anything to the simulink, just have it open. Finally, the interface with the user can always be improved, with the passage of time and the comments that are received, I will be able to improve the order of the interface to make it even easier to use./p>p classhas-medium-font-size>strong>Roadmap:/strong>/p>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-6.png alt classwp-image-2339 width1111 height350/>/figure>figure classwp-block-image size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-8.png alt classwp-image-2341 width1104 height206/>/figure>div classwp-block-image>figure classalignleft size-large is-resized>img decodingasync loadinglazy srchttps://aerospaceresearch.net/wp-content/uploads/2021/08/image-7.png alt classwp-image-2340 width586 height561/>/figure>/div> /div>!-- .entry-content --> footer classentry-footer> span classbyline>span classauthor vcard>img alt srchttps://secure.gravatar.com/avatar/ff748e62e3872c2476992944afdb172a?s49&dmm&rg srcsethttps://secure.gravatar.com/avatar/ff748e62e3872c2476992944afdb172a?s98&dmm&rg 2x classavatar avatar-49 photo height49 width49 loadinglazy decodingasync/>span classscreen-reader-text>Autor /span> a classurl fn n hrefhttps://aerospaceresearch.net/?author30>David Aleman/a>/span>/span>span classposted-on>span classscreen-reader-text>Veröffentlicht am /span>a hrefhttps://aerospaceresearch.net/?p2211 relbookmark>time classentry-date published datetime2021-06-21T19:34:41+02:00>21. Juni 2021/time>time classupdated datetime2021-09-02T05:44:10+02:00>2. September 2021/time>/a>/span>span classcomments-link>a hrefhttps://aerospaceresearch.net/?p2211#comments>2 Kommentarespan classscreen-reader-text> zu Implementation of data analysis compilation interface in a satellite monitoring simulator/span>/a>/span> /footer>!-- .entry-footer -->/article>!-- #post-2211 --> nav classnavigation pagination aria-labelBeiträge> h2 classscreen-reader-text>Beitragsnavigation/h2> div classnav-links>span aria-currentpage classpage-numbers current>span classmeta-nav screen-reader-text>Seite /span>1/span>a classpage-numbers hrefhttps://aerospaceresearch.net/?paged2>span classmeta-nav screen-reader-text>Seite /span>2/a>span classpage-numbers dots>…/span>a classpage-numbers hrefhttps://aerospaceresearch.net/?paged12>span classmeta-nav screen-reader-text>Seite /span>12/a>a classnext page-numbers hrefhttps://aerospaceresearch.net/?paged2>Nächste Seite/a>/div> /nav> /main>!-- .site-main --> /div>!-- .content-area --> aside idsecondary classsidebar widget-area> section idsearch-2 classwidget widget_search>form rolesearch methodget classsearch-form actionhttps://aerospaceresearch.net/> label> span classscreen-reader-text> Suche nach: /span> input typesearch classsearch-field placeholderSuche … value names /> /label> button typesubmit classsearch-submit>span classscreen-reader-text> Suchen /span>/button>/form>/section> section idrecent-posts-2 classwidget widget_recent_entries> h2 classwidget-title>Neueste Beiträge/h2>nav aria-labelNeueste Beiträge> ul> li> a hrefhttps://aerospaceresearch.net/?p2419>TychoMission is taking part in ESA’s #Moonlight call-for-ideas/a> /li> li> a hrefhttps://aerospaceresearch.net/?p2330>GSoC 21 | MOLTO3BP – MOLTO-IT-API | Mario R D/a> /li> li> a hrefhttps://aerospaceresearch.net/?p2372>GSoC2021: Development of an FDIR algorithm using Neural networks/a> /li> li> a hrefhttps://aerospaceresearch.net/?p2353>GSoC2021: findsatbyrf Center of satellite signal in the frequency domain/a> /li> li> a hrefhttps://aerospaceresearch.net/?p2349>GSoC2021 CalibrateSDR GSM Support/a> /li> /ul> /nav>/section>section idrecent-comments-2 classwidget widget_recent_comments>h2 classwidget-title>Neueste Kommentare/h2>nav aria-labelNeueste Kommentare>ul idrecentcomments>li classrecentcomments>span classcomment-author-link>David Aleman/span> bei a hrefhttps://aerospaceresearch.net/?p2211#comment-4800>Implementation of data analysis compilation interface in a satellite monitoring simulator/a>/li>li classrecentcomments>span classcomment-author-link>David Aleman/span> bei a hrefhttps://aerospaceresearch.net/?p2211#comment-4637>Implementation of data analysis compilation interface in a satellite monitoring simulator/a>/li>/ul>/nav>/section>section idarchives-2 classwidget widget_archive>h2 classwidget-title>Archive/h2>nav aria-labelArchive> ul> li>a hrefhttps://aerospaceresearch.net/?m202205>Mai 2022/a>/li> li>a hrefhttps://aerospaceresearch.net/?m202108>August 2021/a>/li> li>a hrefhttps://aerospaceresearch.net/?m202107>Juli 2021/a>/li> li>a hrefhttps://aerospaceresearch.net/?m202106>Juni 2021/a>/li> li>a hrefhttps://aerospaceresearch.net/?m202104>April 2021/a>/li> li>a hrefhttps://aerospaceresearch.net/?m202010>Oktober 2020/a>/li> li>a hrefhttps://aerospaceresearch.net/?m202008>August 2020/a>/li> li>a hrefhttps://aerospaceresearch.net/?m202003>März 2020/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201910>Oktober 2019/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201908>August 2019/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201907>Juli 2019/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201906>Juni 2019/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201905>Mai 2019/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201904>April 2019/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201902>Februar 2019/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201812>Dezember 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201811>November 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201810>Oktober 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201808>August 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201807>Juli 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201806>Juni 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201805>Mai 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201802>Februar 2018/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201710>Oktober 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201709>September 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201708>August 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201707>Juli 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201706>Juni 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201705>Mai 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201704>April 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201703>März 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201701>Januar 2017/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201607>Juli 2016/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201606>Juni 2016/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201605>Mai 2016/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201604>April 2016/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201603>März 2016/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201602>Februar 2016/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201601>Januar 2016/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201512>Dezember 2015/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201412>Dezember 2014/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201312>Dezember 2013/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201212>Dezember 2012/a>/li> li>a hrefhttps://aerospaceresearch.net/?m201112>Dezember 2011/a>/li> /ul> /nav>/section>section idcategories-2 classwidget widget_categories>h2 classwidget-title>Kategorien/h2>nav aria-labelKategorien> ul> li classcat-item cat-item-1>a hrefhttps://aerospaceresearch.net/?cat1>Allgemein/a>/li> /ul> /nav>/section>section idmeta-2 classwidget widget_meta>h2 classwidget-title>Meta/h2>nav aria-labelMeta> ul> li>a hrefhttps://aerospaceresearch.net/wp-login.php>Anmelden/a>/li> li>a hrefhttps://aerospaceresearch.net/?feedrss2>Feed der Einträge/a>/li> li>a hrefhttps://aerospaceresearch.net/?feedcomments-rss2>Kommentare-Feed/a>/li> li>a hrefhttps://de.wordpress.org/>WordPress.org/a>/li> /ul> /nav>/section> /aside>!-- .sidebar .widget-area --> /div>!-- .site-content --> footer idcolophon classsite-footer> nav classmain-navigation aria-labelPrimäres Footer-Menü> div classmenu-header-container>ul idmenu-header-1 classprimary-menu>li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-220>a hrefhttps://aerospaceresearch.net/?page_id7>making/a>ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1899>a hrefhttps://aerospaceresearch.net/?page_id1895>Discoveries/a> ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1901>a hrefhttps://aerospaceresearch.net/?page_id1874>Can a GoPro camera be used to optically track satellites?/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-2115>a hrefhttps://aerospaceresearch.net/?page_id2111>How to calibrate your SDR aka what’s my frequency?/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-2316>a hrefhttps://aerospaceresearch.net/?page_id2310>Optical satellite detection with Python or how to find all SpaceX #Transporter2 mission satellites with a Sony A7S camera/a>/li> /ul>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1900>a hrefhttps://aerospaceresearch.net/?page_id1896>Projects/a> ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1125>a hrefhttps://aerospaceresearch.net/?page_id1122>Distributed Ground Station Network/a> ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1115>a hrefhttps://aerospaceresearch.net/?page_id1095>Antenna Rotators/a>/li> /ul>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1133>a hrefhttps://aerospaceresearch.net/?page_id1130>OrbitDeterminator/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1134>a hrefhttps://aerospaceresearch.net/?page_id1128>DirectDemod/a>/li> /ul>/li>/ul>/li>li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-221>a hrefhttps://aerospaceresearch.net/?page_id9>space/a>ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-1114>a hrefhttps://aerospaceresearch.net/?page_id1103>Coding Campaigns/a> ul classsub-menu> li classmenu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1855>a hrefhttps://aerospaceresearch.net/?cat1>GSOC and GCI/a> ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-2184>a hrefhttps://aerospaceresearch.net/?page_id2156>GSOC2021 ideas for AerospaceResearch.net + ep2lab of Carlos III University of Madrid/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1857>a hrefhttps://aerospaceresearch.net/?page_id1840>GSOC2020 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + ep2lab of Carlos III University of Madrid/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1859>a hrefhttps://aerospaceresearch.net/?page_id1111>GSOC2019 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart + ep2lab of Carlos III University of Madrid/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1118>a hrefhttps://aerospaceresearch.net/?page_id612>GSOC2018 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1117>a hrefhttps://aerospaceresearch.net/?page_id1033>Google Code In 2018 with AerospaceResearch.net/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1120>a hrefhttps://aerospaceresearch.net/?page_id202>GSOC2017 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1121>a hrefhttps://aerospaceresearch.net/?page_id6>GSOC2016 ideas for AerospaceResearch.net/a>/li> /ul>/li> li classmenu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1856>a hrefhttps://aerospaceresearch.net/?cat1>ESA SOCIS/a> ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1858>a hrefhttps://aerospaceresearch.net/?page_id1229>SOCIS2019 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart + ep2lab of Carlos III University of Madrid/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1119>a hrefhttps://aerospaceresearch.net/?page_id278>ESA SOCIS017 ideas for AerospaceResearch.net + KSat-Stuttgart e.V. + IFP University of Stuttgart/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-post menu-item-1861>a hrefhttps://aerospaceresearch.net/?p152>ESA SOCIS2016 ideas for AerospaceResearch.net/a>/li> /ul>/li> /ul>/li>/ul>/li>li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-222>a hrefhttps://aerospaceresearch.net/?page_id11>together/a>ul classsub-menu> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-1143>a hrefhttps://aerospaceresearch.net/?page_id1140>Participation/a>/li> li classmenu-item menu-item-type-post_type menu-item-object-page menu-item-230>a hrefhttps://aerospaceresearch.net/?page_id57>Impressum/a>/li>/ul>/li>/ul>/div> /nav>!-- .main-navigation --> nav classsocial-navigation aria-labelFooter-Social-Links-Menü> div classmenu-socialmedia-container>ul idmenu-socialmedia-1 classsocial-links-menu>li classmenu-item menu-item-type-custom menu-item-object-custom menu-item-223>a hrefhttps://github.com/aerospaceresearch/>span classscreen-reader-text>github/aerospaceresearch/span>/a>/li>li classmenu-item menu-item-type-custom menu-item-object-custom menu-item-224>a hrefhttp://twitter.com/ardnnews>span classscreen-reader-text>twitter/ardnnews/span>/a>/li>li classmenu-item menu-item-type-custom menu-item-object-custom menu-item-225>a hrefhttps://www.youtube.com/channel/UCV3bE5J62o3yT2mh7TxMICw>span classscreen-reader-text>youtube/AerospaceResearch.net/span>/a>/li>li classmenu-item menu-item-type-custom menu-item-object-custom menu-item-226>a hrefhttps://www.facebook.com/AerospaceResearch.net/?frefts>span classscreen-reader-text>facebook/AerospaceResearch.net/span>/a>/li>li classmenu-item menu-item-type-custom menu-item-object-custom menu-item-233>a hrefhttps://plus.google.com/communities/103284191158859493054>span classscreen-reader-text>google+/AerospaceResearch/span>/a>/li>/ul>/div> /nav>!-- .social-navigation --> div classsite-info> span classsite-title>a hrefhttps://aerospaceresearch.net/ relhome>aerospaceresearch.net/a>/span> a hrefhttps://de.wordpress.org/ classimprint> Stolz präsentiert von WordPress /a> /div>!-- .site-info --> /footer>!-- .site-footer --> /div>!-- .site-inner -->/div>!-- .site -->style idcore-block-supports-inline-css>.wp-block-gallery.wp-block-gallery-1,.wp-block-gallery.wp-block-gallery-4{--wp--style--unstable-gallery-gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );gap:var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}/style>script srchttps://aerospaceresearch.net/wp-content/themes/twentysixteen/js/skip-link-focus-fix.js?ver20170530 idtwentysixteen-skip-link-focus-fix-js>/script>script idtwentysixteen-script-js-extra>var screenReaderText {expand:Untermen\u00fc anzeigen,collapse:Untermen\u00fc verbergen};/script>script srchttps://aerospaceresearch.net/wp-content/themes/twentysixteen/js/functions.js?ver20211130 idtwentysixteen-script-js>/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]