<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.de/matlabcentral/newsreader/view_thread/319605</link>
    <title>MATLAB Central Newsreader - How to use fir2 filter for NRZ code</title>
    <description>Feed for thread: How to use fir2 filter for NRZ code</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2013 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.de/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Sun, 29 Apr 2012 12:03:08 +0000</pubDate>
      <title>How to use fir2 filter for NRZ code</title>
      <link>http://www.mathworks.de/matlabcentral/newsreader/view_thread/319605#875237</link>
      <author>Amelie </author>
      <description>Hi,&lt;br&gt;
I need to implement communication system in Matlab. One of many problems that I have is  to excecute the code below using fir2 filter, and then I need to use created filter to filter NRZ code.&lt;br&gt;
Can you please help me by giving me some advices. &lt;br&gt;
&amp;nbsp;&lt;br&gt;
&lt;br&gt;
clear all&lt;br&gt;
close all&lt;br&gt;
clc&lt;br&gt;
&lt;br&gt;
Ts = 5e-2;&lt;br&gt;
Tb = 1e-1;&lt;br&gt;
&lt;br&gt;
Nb = 1e5;&lt;br&gt;
bs = round(rand(1,Nb));&lt;br&gt;
%bs = [1 0 1 0 1 1 0 0 1];&lt;br&gt;
% Nb = size(bs,2);&lt;br&gt;
&lt;br&gt;
x = 0;&lt;br&gt;
&lt;br&gt;
M = Tb/Ts;&lt;br&gt;
for k = 1:Nb&lt;br&gt;
%x = [x bs(k)*ones(1,Tb/Ts)] ;&lt;br&gt;
if(bs(k) == 0)&lt;br&gt;
x(M*(k-1)+1:k*M) = -1*ones(1,Tb/Ts);&lt;br&gt;
else&lt;br&gt;
x(M*(k-1)+1:k*M) = 1*ones(1,Tb/Ts);&lt;br&gt;
end&lt;br&gt;
end&lt;br&gt;
%save testfiles 'x' 'bs'&lt;br&gt;
%x = x(2:end);&lt;br&gt;
&lt;br&gt;
%figure(1)&lt;br&gt;
%subplot(3,1,1)&lt;br&gt;
%stem(0:size(bs,2)-1,bs)&lt;br&gt;
%subplot(3,1,2)&lt;br&gt;
t = 0:1:(size(x,2)-1);&lt;br&gt;
t = t*Ts;&lt;br&gt;
%plot(t,x,'m','LineWidth',4);&lt;br&gt;
%hold on&lt;br&gt;
&lt;br&gt;
EbN0 =[1 5 10 15 20 25];&lt;br&gt;
% EbN0 = SNR *Tb/Ts;&lt;br&gt;
&lt;br&gt;
SNR = EbN0*Ts/Tb;&lt;br&gt;
for n = 1:size(SNR,2)&lt;br&gt;
y = awgn(x,SNR(n),'measured');&lt;br&gt;
%plot(t,x,'k')&lt;br&gt;
&lt;br&gt;
tod = round(M/2);&lt;br&gt;
pod = 0;&lt;br&gt;
for k=1:Nb&lt;br&gt;
t_symbol = y(M*(k-1)+1:M*k);&lt;br&gt;
t_symbol = t_symbol(tod);&lt;br&gt;
&lt;br&gt;
if(t_symbol &amp;gt; pod)&lt;br&gt;
dbs(k) = 1;&lt;br&gt;
else&lt;br&gt;
dbs(k) = 0;&lt;br&gt;
end&lt;br&gt;
end</description>
    </item>
  </channel>
</rss>
