<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>genlik modülasyonu &#8211; Erkan Çömez</title>
	<atom:link href="https://erkancomez.com.tr/tag/genlik-modulasyonu/feed/" rel="self" type="application/rss+xml" />
	<link>https://erkancomez.com.tr</link>
	<description></description>
	<lastBuildDate>Mon, 04 Jan 2021 16:04:12 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>

<image>
	<url>https://erkancomez.com.tr/wp-content/uploads/2018/10/cropped-1266207-200-32x32.png</url>
	<title>genlik modülasyonu &#8211; Erkan Çömez</title>
	<link>https://erkancomez.com.tr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Python ile Genlik Modülasyonu</title>
		<link>https://erkancomez.com.tr/python-ile-genlik-modulasyonu/</link>
					<comments>https://erkancomez.com.tr/python-ile-genlik-modulasyonu/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Wed, 08 Apr 2020 17:09:32 +0000</pubDate>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[am modülasyonu]]></category>
		<category><![CDATA[am modulation]]></category>
		<category><![CDATA[genlik modülasyonu]]></category>
		<category><![CDATA[gürültü]]></category>
		<category><![CDATA[haberleşme mühendisliği]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[sinyal]]></category>
		<guid isPermaLink="false">https://www.erkancomez.com.tr/?p=625</guid>

					<description><![CDATA[İletişim laboratuvarlarında hepimiz CRO'ları kullanarak genlik modülasyonlu sinyaller üretiriz. Ancak aynı şey Python ve ek kütüphanelerinden birkaçı kullanılarak da yapılabilir.]]></description>
										<content:encoded><![CDATA[
<p>İletişim laboratuvarlarında hepimiz CRO&#8217;ları kullanarak genlik modülasyonlu sinyaller üretiriz.&nbsp;Ancak aynı şey Python ve ek kütüphanelerinden birkaçı kullanılarak da yapılabilir.</p>



<p>Kullanmamız gereken 3 tane kütüphane var.  Bunlar;</p>



<pre class="wp-block-code"><code>import numpy as np
import matplotlib.pyplot as plt
from scipy import signal</code></pre>



<p> Kütüphanelerden sonra belirlememiz gereken 5 tane değer var. Bunlar sırasıyla taşıyıcı genliği, taşıyıcı frekansı, mesaj genliği, mesaj frekansı ve modülasyon indeksidir.</p>



<pre class="wp-block-code"><code>A_c = 1
f_c = 200
A_m = 5
f_m = 10
modulation_index = 8000</code></pre>



<p>İletişimde zaman fonksiyonu sürekli bir fonksiyondur ve biz bu sürekliliği sağlamak için <strong>Linspace </strong>fonksiyonunu kullanacağız. <strong>Linspace</strong>&nbsp;fonksiyonu, belirli bir aralık içinde eşit aralıklı sayıları üretir. <strong>Linspace&#8217;in</strong>&nbsp;ilk argümanı&nbsp;başlangıç ​​noktası, ikinci argüman bitiş noktası ve üçüncü argüman ise verilen aralık arasındaki kesme noktası sayısıdır. </p>



<pre class="wp-block-code"><code>t = np.linspace(0, 1, 1000)</code></pre>



<p>Artık taşıyıcı, mesaj ve AM sinyali tanımlayabiliriz.</p>



<pre class="wp-block-code"><code>carrier = A_c*np.cos(2*np.pi*f_c*t)
modulator = A_m*np.cos(2*np.pi*f_m*t)
product = A_c*(np.cos(2*np.pi*f_m*t))*np.cos(2*np.pi*f_c*t)</code></pre>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>



<p>Son olarak tanımlamamız gereken bir şey kaldı, Noise(gürültü). Gürültü normal şartlarda yayın yaparken dışarıdan istemsiz olarak aldığımız sinyaller bütünüdür. Biz bu gürültüyü python&#8217;da kendimiz oluşturacağız.</p>



<pre class="wp-block-code"><code>noise = np.random.normal (0 , np.sqrt(0.01) , len( product ))</code></pre>



<p>Herşeyimiz hazır olduğuna göre artık sinyallerimizi çizdirebiliriz. Çizim için <strong>Matplotlib</strong> kütüphanesini kullanıyoruz. Çizimlerde sinyal rengini, x ekseni ve ye ekseni isimleri gibi etkenleri belirleyebiliyoruz.</p>



<pre class="wp-block-code"><code>plt.subplot(6,1,1)
plt.title('Amplitude Modulation')
plt.plot(modulator,'g')
plt.ylabel('Amplitude')
plt.xlabel('Message signal')

plt.subplot(6,1,2)
plt.plot(carrier, 'r')
plt.ylabel('Amplitude')
plt.xlabel('Carrier signal')

plt.subplot(6,1,3)
plt.plot(product, color="purple")
plt.ylabel('Amplitude')
plt.xlabel('AM signal')</code></pre>



<div class="wp-block-image"><figure class="aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="83" src="https://www.erkancomez.com.tr/wp-content/uploads/2020/04/1-1024x83.png" alt="" class="wp-image-627" srcset="https://erkancomez.com.tr/wp-content/uploads/2020/04/1-1024x83.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2020/04/1-300x24.png 300w, https://erkancomez.com.tr/wp-content/uploads/2020/04/1-768x62.png 768w, https://erkancomez.com.tr/wp-content/uploads/2020/04/1-1536x124.png 1536w, https://erkancomez.com.tr/wp-content/uploads/2020/04/1-940x76.png 940w, https://erkancomez.com.tr/wp-content/uploads/2020/04/1-455x37.png 455w, https://erkancomez.com.tr/wp-content/uploads/2020/04/1-267x22.png 267w, https://erkancomez.com.tr/wp-content/uploads/2020/04/1.png 1848w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Mesaj Sinyali</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1024" height="73" src="https://www.erkancomez.com.tr/wp-content/uploads/2020/04/2-1024x73.png" alt="" class="wp-image-628" srcset="https://erkancomez.com.tr/wp-content/uploads/2020/04/2-1024x73.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2020/04/2-300x21.png 300w, https://erkancomez.com.tr/wp-content/uploads/2020/04/2-768x55.png 768w, https://erkancomez.com.tr/wp-content/uploads/2020/04/2-1536x110.png 1536w, https://erkancomez.com.tr/wp-content/uploads/2020/04/2-940x67.png 940w, https://erkancomez.com.tr/wp-content/uploads/2020/04/2-455x33.png 455w, https://erkancomez.com.tr/wp-content/uploads/2020/04/2-267x19.png 267w, https://erkancomez.com.tr/wp-content/uploads/2020/04/2.png 1848w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption>Taşıyıcı Sinyal</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="1848" height="132" src="https://www.erkancomez.com.tr/wp-content/uploads/2020/04/3-1024x73.png" alt="" class="wp-image-629" srcset="https://erkancomez.com.tr/wp-content/uploads/2020/04/3-1024x73.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2020/04/3-300x21.png 300w, https://erkancomez.com.tr/wp-content/uploads/2020/04/3-768x55.png 768w, https://erkancomez.com.tr/wp-content/uploads/2020/04/3-1536x110.png 1536w, https://erkancomez.com.tr/wp-content/uploads/2020/04/3-940x67.png 940w, https://erkancomez.com.tr/wp-content/uploads/2020/04/3-455x33.png 455w, https://erkancomez.com.tr/wp-content/uploads/2020/04/3-267x19.png 267w, https://erkancomez.com.tr/wp-content/uploads/2020/04/3.png 1848w" sizes="(max-width: 1848px) 100vw, 1848px" /><figcaption>Modüle Edilmiş Sinyal</figcaption></figure></div>



<p>Yukarıda ki kodda ilk kısım mesaj sinyali, ikinci kısım taşıyıcı sinyal, üçüncü kısım ise modüle edilmiş sinyaldir. Biz daha sonra modüle edilmiş sinyale gürültü ekleyeceğiz. Daha sonra ise alıcı için demodülasyon işlemi uygulayacağız.</p>



<pre class="wp-block-code"><code>withnoise = noise + product
demodulation = withnoise * carrier</code></pre>



<p>Gürültü eklenmiş sinyalimizi de ekrana bastırmak için aşağıdaki kodu kullanıyoruz.</p>



<pre class="wp-block-code"><code>plt.subplot(6,1,4)
plt.plot(withnoise, color="r")
plt.ylabel('Amplitude')
plt.xlabel('Signal With Noise')

plt.subplot(6,1,5)
plt.plot(demodulation, color="r")
plt.ylabel('Amplitude')
plt.xlabel('Demodulation')</code></pre>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="81" src="https://www.erkancomez.com.tr/wp-content/uploads/2020/04/4-1024x81.png" alt="" class="wp-image-630" srcset="https://erkancomez.com.tr/wp-content/uploads/2020/04/4-1024x81.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2020/04/4-300x24.png 300w, https://erkancomez.com.tr/wp-content/uploads/2020/04/4-768x61.png 768w, https://erkancomez.com.tr/wp-content/uploads/2020/04/4-1536x122.png 1536w, https://erkancomez.com.tr/wp-content/uploads/2020/04/4-940x75.png 940w, https://erkancomez.com.tr/wp-content/uploads/2020/04/4-455x36.png 455w, https://erkancomez.com.tr/wp-content/uploads/2020/04/4-267x21.png 267w, https://erkancomez.com.tr/wp-content/uploads/2020/04/4.png 1848w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Gürültü Eklenmiş Sinyal</figcaption></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="86" src="https://www.erkancomez.com.tr/wp-content/uploads/2020/04/5-1024x86.png" alt="" class="wp-image-631" srcset="https://erkancomez.com.tr/wp-content/uploads/2020/04/5-1024x86.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2020/04/5-300x25.png 300w, https://erkancomez.com.tr/wp-content/uploads/2020/04/5-768x64.png 768w, https://erkancomez.com.tr/wp-content/uploads/2020/04/5-1536x129.png 1536w, https://erkancomez.com.tr/wp-content/uploads/2020/04/5-940x79.png 940w, https://erkancomez.com.tr/wp-content/uploads/2020/04/5-455x38.png 455w, https://erkancomez.com.tr/wp-content/uploads/2020/04/5-267x22.png 267w, https://erkancomez.com.tr/wp-content/uploads/2020/04/5.png 1848w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Demodüle Edilmiş Sinyal</figcaption></figure></div>



<p>Son olarak filtre ekleyip demodüle edilen sinyali filtreden geçiriyoruz. Filtre için kullanmamız gereken kütüphane ise <strong>signal </strong>kütüphanesi. Biz <strong>lowpass </strong>filtre uygulayacağız.</p>



<pre class="wp-block-code"><code>b, a = signal.butter(6 , 0.02, btype ='lowpass')
filtered = signal.lfilter (b, a, demodulation )</code></pre>



<p>Filtreyi de kullandıktan sonra mesaj sinyalimizi çizdirebiliriz.</p>



<pre class="wp-block-code"><code>plt.subplot(6,1,6)
plt.plot(filtered, color="r")
plt.ylabel('Amplitude')
plt.xlabel('Filtered')</code></pre>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>



<p>Şimdi grafiklerimizi istediğimiz gibi özelleştirebiliriz. Yazı tipi, boyutu vb. şeyleri değiştirmemiz mümkün. Resmi kaydetmek için <strong>savefig</strong> fonksiyonunu kullanacağız. Bu konu da daha fazla bilgi almak için <a href="https://matplotlib.org/">Matplotlib</a>&#8216;in resmi sayfasını ziyaret edebilirsiniz.</p>



<pre class="wp-block-code"><code>plt.subplots_adjust(hspace=1)
plt.rc('font', size=15)
fig = plt.gcf()
fig.set_size_inches(32, 15)

fig.savefig('Amplitude Modulation.png', dpi=100)</code></pre>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="85" src="https://www.erkancomez.com.tr/wp-content/uploads/2020/04/6-1-1024x85.png" alt="" class="wp-image-632" srcset="https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1-1024x85.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1-300x25.png 300w, https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1-768x64.png 768w, https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1-1536x127.png 1536w, https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1-940x78.png 940w, https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1-455x38.png 455w, https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1-267x22.png 267w, https://erkancomez.com.tr/wp-content/uploads/2020/04/6-1.png 1872w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Filtrelenmiş Sinyal</figcaption></figure></div>



<p>Çıkan tüm grafikler sırasıyla aşağıdadır.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="487" src="https://www.erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-1024x487.png" alt="" class="wp-image-633" srcset="https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-1024x487.png 1024w, https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-300x143.png 300w, https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-768x365.png 768w, https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-1536x730.png 1536w, https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-841x400.png 841w, https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-455x216.png 455w, https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2-267x127.png 267w, https://erkancomez.com.tr/wp-content/uploads/2020/04/Figure_2.png 1872w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Grafikler</figcaption></figure></div>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>



<p>Genlik modülasyonu projemiz böylelikle bitmiş oluyor. Aşağıda tam kodu bulabilirsiniz. İyi çalışmalar.</p>



<pre class="wp-block-code"><code>import numpy as np
import matplotlib.pyplot as plt
from scipy import signal

A_c = 1
f_c = 200
A_m = 5
f_m = 10
modulation_index = 8000



t = np.linspace(0, 1, 1000)

carrier = A_c*np.cos(2*np.pi*f_c*t)
modulator = A_m*np.cos(2*np.pi*f_m*t)
product = A_c*(np.cos(2*np.pi*f_m*t))*np.cos(2*np.pi*f_c*t)

#############################################
# noise tanımlanan kısım
#############################################

noise = np.random.normal (0 , np.sqrt(0.01) , len( product ))

#############################################

plt.subplot(6,1,1)
plt.title('Amplitude Modulation')
plt.plot(modulator,'g')
plt.ylabel('Amplitude')
plt.xlabel('Message signal')

plt.subplot(6,1,2)
plt.plot(carrier, 'r')
plt.ylabel('Amplitude')
plt.xlabel('Carrier signal')

plt.subplot(6,1,3)
plt.plot(product, color="purple")
plt.ylabel('Amplitude')
plt.xlabel('AM signal')


#######################
# Noise eklenen kısım ve demodule edilen kısım
#######################

withnoise = noise + product

demodulation = withnoise * carrier

#####################

plt.subplot(6,1,4)
plt.plot(withnoise, color="r")
plt.ylabel('Amplitude')
plt.xlabel('Signal With Noise')

#######################

plt.subplot(6,1,5)
plt.plot(demodulation, color="r")
plt.ylabel('Amplitude')
plt.xlabel('Demodulation')

#######################
#Filtre uygulanan kısım
#######################

b, a = signal.butter(6 , 0.02, btype ='lowpass')
filtered = signal.lfilter (b, a, demodulation )

######################

plt.subplot(6,1,6)
plt.plot(filtered, color="r")
plt.ylabel('Amplitude')
plt.xlabel('Filtered')


plt.subplots_adjust(hspace=1)
plt.rc('font', size=15)
fig = plt.gcf()
fig.set_size_inches(32, 15)

fig.savefig('Amplitude Modulation.png', dpi=100)</code></pre>



<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6469737244690290" data-ad-slot="2204615499" data-ad-format="auto" data-full-width-responsive="true"></ins>
]]></content:encoded>
					
					<wfw:commentRss>https://erkancomez.com.tr/python-ile-genlik-modulasyonu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
