⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netamfinal.html

📁 基于非线性能量算子的信号解调MATLAB实现
💻 HTML
字号:
<html xmlns:mwsh="http://www.mathworks.com/namespace/mcode/v1/syntaxhighlight.dtd">   <head>      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">         <!--This HTML is auto-generated from an M-file.To make changes, update the M-file and republish this document.      -->      <title>netAMfINAL</title>      <meta name="generator" content="MATLAB 7.0.1">      <meta name="date" content="2007-02-20">      <meta name="m-file" content="netAMfINAL"><style>body {  background-color: white;  margin:10px;}h1 {  color: #990000;   font-size: x-large;}h2 {  color: #990000;  font-size: medium;}p.footer {  text-align: right;  font-size: xx-small;  font-weight: lighter;  font-style: italic;  color: gray;}pre.codeinput {  margin-left: 30px;}span.keyword {color: #0000FF}span.comment {color: #228B22}span.string {color: #A020F0}span.untermstring {color: #B20000}span.syscmd {color: #B28C00}pre.showbuttons {  margin-left: 30px;  border: solid black 2px;  padding: 4px;  background: #EBEFF3;}pre.codeoutput {  color: gray;  font-style: italic;}pre.error {  color: red;}/* Make the text shrink to fit narrow windows, but not stretch too far in wide windows.  On Gecko-based browsers, the shrink-to-fit doesn't work. */ p,h1,h2,div {  /* for MATLAB's browser */  width: 600px;  /* for Mozilla, but the "width" tag overrides it anyway */  max-width: 600px;  /* for IE */  width:expression(document.body.clientWidth > 620 ? "600px": "auto" );}    </style></head>   <body>      <h2>Contents</h2>      <div>         <ul>            <li><a href="#1">Discrete Energy Separation Algorithm 1(DESA-1)for estimation purpose on an AM signal.</a></li>            <li><a href="#2">implementation of backward difference approximation for the first derivative of x(t):</a></li>            <li><a href="#3">Applying Non Linear Energy Tracking Operator for discrete time case (denoted by 'e')</a></li>            <li><a href="#4">Estimation of intantaneous frequency</a></li>            <li><a href="#5">Estimation of amplitude envelop</a></li>            <li><a href="#6">the usual way</a></li>         </ul>      </div>      <h2>Discrete Energy Separation Algorithm 1(DESA-1)for estimation purpose on an AM signal.<a name="1"></a></h2><pre class="codeinput"><span class="comment">%we are considering 512 samples of AM Signal given by the following equation:</span>k=0.8;w=pi/128;q=pi/6;<span class="keyword">for</span> n=1:512    x(n)=(1+(k*cos(w*(n))))*(cos(q*(n)));<span class="keyword">end</span></pre><h2>implementation of backward difference approximation for the first derivative of x(t):<a name="2"></a></h2><pre class="codeinput"><span class="keyword">for</span> n=2:512   y(n)=x(n)-x(n-1);<span class="keyword">end</span>plot(y)hold <span class="string">on</span></pre><img vspace="5" hspace="5" src="netAMfINAL_01.png"> <h2>Applying Non Linear Energy Tracking Operator for discrete time case (denoted by 'e')<a name="3"></a></h2><pre class="codeinput"><span class="keyword">for</span> n=2:511    ey(n) = (y(n)^2) - ((y(n-1)) * (y(n+1)));<span class="keyword">end</span>plot(ey,<span class="string">'g'</span>)hold <span class="string">on</span><span class="keyword">for</span> n=2:511    ex(n) = (x(n)^2) - ((x(n-1)) * (x(n+1)));<span class="keyword">end</span>plot(ex,<span class="string">'r'</span>)hold <span class="string">on</span></pre><img vspace="5" hspace="5" src="netAMfINAL_02.png"> <h2>Estimation of intantaneous frequency<a name="4"></a></h2><pre class="codeinput"><span class="keyword">for</span>  n=2:510   Q(n)=acos(1-(((ey(n)+ey(n+1))/(4*(ex(n))))));<span class="keyword">end</span>plot(Q)hold <span class="string">on</span></pre><img vspace="5" hspace="5" src="netAMfINAL_03.png"> <h2>Estimation of amplitude envelop<a name="5"></a></h2><pre class="codeinput"><span class="keyword">for</span> n=2:510    j(n)=sqrt(ex(n)/(1-(1-(((ey(n)+ey(n+1))/(4*(ex(n))))))^2));<span class="keyword">end</span><span class="comment">% j()</span>plot(j,<span class="string">'r'</span>)</pre><img vspace="5" hspace="5" src="netAMfINAL_04.png"> <h2>the usual way<a name="6"></a></h2><pre class="codeinput"><span class="keyword">for</span> n=1:512    x(n)=(1+(k*cos(w*(n))))*(cos(q*(n)));<span class="keyword">end</span><span class="keyword">for</span> n=2:511 <span class="comment">% for envelop of  signal.</span>    j(n)=(1 + ((k)*(cos(w*n))));<span class="keyword">end</span> plot(j,<span class="string">'o'</span>) <span class="comment">% the overlapping of '0'with our result established by NLE shows the</span> <span class="comment">% importance of NLE operators</span></pre><img vspace="5" hspace="5" src="netAMfINAL_05.png"> <p class="footer"><br>         Published with MATLAB&reg; 7.0.1<br></p>      <!--##### SOURCE BEGIN #####%% Discrete Energy Separation Algorithm 1(DESA-1)for estimation purpose on an AM signal.
%we are considering 512 samples of AM Signal given by the following equation:
k=0.8;
w=pi/128;
q=pi/6;

for n=1:512
    x(n)=(1+(k*cos(w*(n))))*(cos(q*(n)));
end
%% implementation of backward difference approximation for the first derivative of x(t):

for n=2:512
   y(n)=x(n)-x(n-1);
end
plot(y)
hold on
%% Applying Non Linear Energy Tracking Operator for discrete time case (denoted by 'e')  
for n=2:511
    ey(n) = (y(n)^2) - ((y(n-1)) * (y(n+1)));
end
plot(ey,'g')
hold on
for n=2:511
    ex(n) = (x(n)^2) - ((x(n-1)) * (x(n+1)));
end
plot(ex,'r')
hold on
%% Estimation of intantaneous frequency  
for  n=2:510
   Q(n)=acos(1-(((ey(n)+ey(n+1))/(4*(ex(n))))));
end
plot(Q)
hold on
%% Estimation of amplitude envelop 
for n=2:510
    j(n)=sqrt(ex(n)/(1-(1-(((ey(n)+ey(n+1))/(4*(ex(n))))))^2));
end
% j()
plot(j,'r')
%% the usual way
for n=1:512
    x(n)=(1+(k*cos(w*(n))))*(cos(q*(n)));
end
for n=2:511 % for envelop of  signal.
    j(n)=(1 + ((k)*(cos(w*n))));
end
 plot(j,'o')
 % the overlapping of '0'with our result established by NLE shows the
 % importance of NLE operators##### SOURCE END #####-->   </body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -