mjlt11 发表于 2009-5-24 16:49

哪位哥哥给解释一下这几个小脚本怎么修改!!急!急!急!

:@Q 1》》选择合适的窗函数设计一个FIR数字低通滤波器,要求:通带截至频率为w =0.2 ,R =0.25dB;阻带截至频率为w =0.3 ,A =50dB。求脉冲响应并描绘一张滤波器的频率响应图
                wp=0.2*pi;ws=0.3*pi;    %输入设计指标
      tr_width=ws-wp;         %计算过渡带的宽度
      M=ceil(6.6*pi/ tr_width)+1; %由海明窗的过渡带宽度选择合适的阶数
      n=;
      wc=(ws+wp)/2;             %理想低通的截止频率(取平均值)
hd=ideal_lp(wc,M);      %理想低通滤波器冲激响应
w_ham=(haming(M))’;
h=hd .* w_ham;          %给理想低通加海明窗
= freqz_m(h,); %求出幅频响应
delta_w=2*pi/1000;
Rp=-(min(db(1:1:wp/delta_w+1)));    %检验通带波动
As=-round(max(db(ws/delta_w+1:1:501)));%检验最小阻带衰减
% plots(绘图)
subplot﹙2,2,1﹚,stem﹙n,hd﹚; title('Ideal Impulse Response');               
axis﹙0 M-1 -0.1 0.3﹚;xlabel﹙'n'﹚;ylabel('hd(n)');
subplot﹙2,2,2﹚;stem﹙n,w_ham);title('Hamming Window') ;         
axis﹙﹚; xlabel﹙'n'﹚;ylabel('w(n)');
subplot﹙2,2,3﹚;stem﹙n,h﹚; title('Actual Impulse Response');         
axis﹙﹚; xlabel﹙'n'﹚;ylabel('h(n)');
subplot﹙2,2,4﹚;plot(w/pi,db);title('Magnitude Response in dB');grid
axis﹙﹚; xlabel﹙'frequency in pi units'﹚;
ylabel('Decibels');
??? Undefined command/function 'ideal_lp'.

2》》用MATLAB的关系运算式来产生单位阶跃序列u﹙n﹚。

n1=-2;n2=8;n0=0;
   n=n1:n2;                      %生成离散信号的时间序列
   x=;                  %生成离散信号x﹙n﹚
   stem﹙n,x, 'filled'﹚;
   axis﹙﹚;
   title﹙'单位阶跃序列'﹚;
   xlabel﹙'时间﹙n﹚'﹚;ylabel﹙'幅度x﹙n﹚'﹚;
???      stem﹙n,x, 'filled'﹚;
             |
Error: Missing variable or function.


3》》编写产生a=1/2和a=2实指数连续信号和离散序列的程序
n1=-10;n2=10;a1=0.5;a2=2;
      na1=n1:0;x1=a1.^na1;
      na2=0:n2;x2=a2.^na2;
      subplot﹙2,2,1﹚,plot﹙na1,x1﹚;
      title﹙'实指数原信号﹙a<1﹚'﹚;
      subplot﹙2,2,3﹚,stem﹙na1,x1, 'filled'﹚;
      title﹙'实指数原信号﹙a<1﹚'﹚;
      subplot﹙2,2,2﹚,plot﹙na2,x2﹚;
      title﹙'实指数原信号﹙a>1﹚'﹚;
      subplot﹙2,2,4﹚, stem﹙na2,x2, 'filled'﹚;
      title﹙'实指数原信号﹙a>1﹚'﹚;
???       na1=n1:0;x1=a1.^na1;
                         |
Error: Missing variable or function.
还有很多这样的例子,好久都没弄明白!不管怎么弄,就是不出图xiang!!!!

yanghert 发表于 2009-5-24 16:59

先支持一下楼主:lol

friendchj 发表于 2009-5-24 17:12

回复 楼主 mjlt11 的帖子

第一个缺少函数 ideal_lp
第二个^应为英文状态下的半角符号,你写的是全角符号。包括之后的单引号

mjlt11 发表于 2009-5-24 17:24

friendchj那麻烦你给把第一个改下好吗?
另外n1=30;a=-0.1;w=0.6;
      n=0:n1;
      x=exp( ( a+j*w )*n);
      subplot(2,2,1);plot(n,real(x);
      title('复指数原信号的实部');
      subplot(2,2,3);stem(n,real(x), 'filled');
      title('复指数原序列的实部)');
      subplot(2,2,2);plot(n,imag(x));
      title('复指数原信号的虚部)');
      subplot(2,2,4);stem(n, imag(x) , 'filled');
      title('复指数原信号的虚部');
???       x=exp( ( a+j*w )*n);
               |
Error: Missing variable or function. 怎么改??

friendchj 发表于 2009-5-24 17:35

回复 地板 mjlt11 的帖子

第一个,关于函数ideal_lp,你的程序的出处应该有;
第二个,把中文括号改成英文括号。

mjlt11 发表于 2009-5-24 18:10

ideal_lp书上没有,不骗你!

[ 本帖最后由 ChaChing 于 2009-5-27 14:21 编辑 ]

friendchj 发表于 2009-5-24 18:19

clc
clear
n1=30;a=-0.1;w=0.6;
      n=0:n1;
      x=exp((a+j*w)*n);
      subplot(2,2,1);plot(n,real(x));
      title('复指数原信号的实部');
      subplot(2,2,3);stem(n,real(x), 'filled');
      title('复指数原序列的实部)');
      subplot(2,2,2);plot(n,imag(x));
      title('复指数原信号的虚部)');
      subplot(2,2,4);stem(n, imag(x) , 'filled');
      title('复指数原信号的虚部');

friendchj 发表于 2009-5-24 18:21

关于ideal_lp,网上搜了一个
%%%%%%%%%%%%%%%%%%%
function hd = ideal_lp(wc,M);
% Ideal LowPass filter computation
% --------------------------------
% = ideal_lp(wc,M)
%hd = ideal impulse response between 0 to M-1
%wc = cutoff frequency in radians
%   M = length of the ideal filter
%
alpha = (M-1)/2;
n = ;
m = n - alpha + eps;
hd = sin(wc*m) ./ (pi*m);

songzy41 发表于 2009-5-24 18:25

笫2个中是'filled'的引号用了汉字的;
笫3个中是^用了汉字的;
笫1个的函数ideal_lp给你如下:
function hd=ideal_lp(wc, M);
%Ideal Lowpass filter computation

alpha=(M-1)/2;
n=;
m=n-alpha+eps;
hd=sin(wc*m)./(pi*m);
页: [1]
查看完整版本: 哪位哥哥给解释一下这几个小脚本怎么修改!!急!急!急!