如果你学的是电子信息、通信、自动化、计算机或者物理相关专业,那么大三之前大概率会撞上《信号与系统》这门课。很多学校把它安排在本科阶段最“劝退”的位置——公式多、概念抽象、作业量大,第一章还偏偏看起来特别简单,导致不少人前两周松了劲,后面直接跟不上。我今天就把第一章“信号与系统基础”掰开揉碎讲一遍,不光是知识点复述,更偏重“当初我怎么会踩坑”和“哪些地方考试真会挖坑”,希望对正在啃这本书的同学有帮助。这一章本质上就两件事:搞清楚信号怎么描述,搞清楚系统有什么性质。别小看这两件事,后面傅里叶变换、拉普拉斯变换、卷积积分全都是在第一章搭的台子上跳舞。
1. 第一章的整体地图:这门课到底在“玩”什么
很多人学《信号与系统》容易陷入一个误区:一上来就背公式,背了一堆傅里叶变换对,却不知道自己在算什么。第一章存在的意义,就是先把“研究对象”定义清楚:信号是什么、系统是什么、两者之间有什么样的关系。把这张地图先画出来,后面每一章都是在这个地图上做细化。
1.1 一句话讲清《信号与系统》研究什么
你可以在心里把“信号”理解成携带信息的物理量随时间的变化,比如一段语音的电压波形、一个传感器的温度读数、网络里的数据包序列。把“系统”理解成对信号做加工处理的“黑箱子”,输入一个信号,输出另一个信号,比如一个低通滤波器、一台放大器、一个通信接收机的解调链路。
这一整门课的核心任务,就是用数学语言回答三个问题:输入信号长什么样、系统做了什么加工、输出信号会变成什么样。第一章先解决第一个和第二个问题的“地基版”,也就是信号的分类与描述、系统的性质与判断。后面所有变换,都是为了把复杂的“加工过程”转化成更直观的乘法和加法运算。所以如果你现在觉得“信号分类有什么好学的”,那对不起,后面大概率会栽跟头。
1.2 第一章的知识坐标与三条主线
我学的时候把第一章的内容梳理成三条主线,后面复习也一直用这个框架,收益很大。
第一条主线是“信号的表示”:连续信号用什么数学式子表示,离散信号用什么式子表示,怎么对信号做平移、翻褶、尺度变换,怎么判断周期。第二条主线是“信号的分类”:能量信号还是功率信号、周期信号还是非周期信号、确定信号还是随机信号,每类信号背后的处理“工具”完全不同。第三条主线是“系统的性质”:线性、时不变、因果、稳定、记忆性、可逆性,这是整门课的VIP考点。
只要把这三条主线捋顺了,第一章的骨架就有了。你甚至可以给每一条主线写一个“大白话版本”,比如线性就是“整体效果等于分别效果之和”,时不变就是“输入晚来一会儿,输出也晚来一会儿”。这些大白话一开始觉得幼稚,做题时才发现它们才是真正的救命稻草。
1.3 为什么第一章几乎决定了后面的成败
我跟很多学弟学妹说过,第一章不是“最简单的一章”,而是“最容易假装学会的一章”。原因很简单:第一章的概念密度极高,但计算复杂度很低,所以你会觉得“都懂了”,考试一看全是计算推导,直接傻眼。
举个例子,判断系统是否线性,第一步要明确“零状态响应”和“零输入响应”的组合关系,这个知识点就藏在第一章系统的性质里。后面讲到LTI系统的卷积公式时,线性性和时不变性缺一不可:卷积积分的推导过程第一步用线性性把输入信号拆成冲激的加权叠加,第二步用时不变性把每个冲激的响应都平移过去。你要是第一章这两条性质没吃透,等学到第三章卷积的时候会比别人痛苦一倍。第一章打地基这句话,真不是老师吓唬你。
2. 信号基础:从连续到离散,怎么分类才不懵
信号是整门课的研究对象,所以最先出场。但我提醒一句:不要抱着“小学数学里 表示距离、表示时间”的惯性来理解信号的“自变量”。教科书里习惯用 表示连续时间,用 表示离散序号,但在实际系统里,它可以是距离、温度、像素坐标甚至网络包序号。关键是你得清楚自变量是连续还是离散,这决定了你后面用傅里叶变换还是用序列的傅里叶变换。
2.1 必须掌握的几种核心分类方式
信号的分类维度很多,但第一章真正需要重点掌握的是四种分类方式。每学会一种分类,都要反问自己一句:这个分类对我后续处理信号有什么影响?带着这个疑问去学,会轻松很多。
第一种分类是连续时间信号与离散时间信号。连续时间信号在任意时刻都有定义,比如麦克风采集的模拟电压;离散时间信号只在离散时刻有定义,比如CD唱片里每隔几微秒采样的一个数值。第二种分类是周期信号与非周期信号。连续周期信号要求对任意 都有 ,离散周期信号要求对任意整数 都有 ,注意 必须是整数。第三种分类是能量信号与功率信号,这部分容易绕晕,但也特别重要。第四种分类是确定信号与随机信号,确定信号每个时刻取值是确定的,随机信号则要用概率统计描述,这门课前期主要处理确定信号,但后续通信方向会大量用到随机信号分析。
2.2 能量信号和功率信号:公式很简单,判断有套路
能量信号与功率信号的分界线来自一个很自然的物理问题:一个信号到底“有多大”?对电阻负载而言,信号在单位电阻上的瞬时功率就是信号幅度的平方 ,于是从负无穷到正无穷对瞬时功率积分,得到信号总能量。如果总能量有限且大于零,就称它为能量信号;如果能量无穷大,则退而求其次看平均功率,平均功率有限且大于零,就称它为功率信号。
判断套路其实很简单:周期信号一定是功率信号,因为周期信号在无限长时间上能量发散,但每个周期平均一下功率是有限的。有限时长的脉冲信号通常是能量信号,比如单个矩形脉冲、单个指数衰减脉冲。像单位阶跃信号这种“一直开着”的信号就是功率信号;像 这种正负交替持续振荡的周期信号也是功率信号。这个套路虽然不能覆盖所有情况,但应付绝大多数入门题已经足够了。真正麻烦的情况是“既非周期又持续存在”的信号,比如 这种,需要严格算积分再来判断,好在期末考试很少考到这种边缘案例。
还记得一个考过很多次的细节:离散时间信号的“能量”定义是 ,求和取的是幅度平方。有些同学把连续时间的积分与离散时间的求和搞混,一出手就错。离散正弦序列 如果频率是有理数倍 就是周期序列,否则不是周期序列,这在第一章的习题里也经常出现。
2.3 信号平移、反褶与尺度变换:操作顺序别翻车
信号的波形变换是第一章最容易丢分的小题,尤其是“先平移还是先尺度变换”这种顺序问题。我一贯记住的方法是:所有波形变换都以“变量替换”的眼光看,而不是“移动图像”的直觉看。
已知 的波形,要画 的波形。很多人的第一反应是“先把图像往右移 2,再压缩/拉伸,再翻转”。这个顺序想错概率很高。更保险的办法是设一个新变量 ,然后看 在 取哪些值时对应原信号的关键点。
举个例子,已知 ,要画 。先把它看成 ,其中 。那么 对应的原信号 的自变量是 ,也就是说新波形在 处的值等于原波形在 处取值。如果你要把原信号的关键转折点,比如 处的值搬到新坐标下,就解 ,得到 。这样做两三道题就会找到感觉,它比背“平移、翻转、压缩的顺序”要靠谱得多,因为后者在复合变换里极易搞混。教材里通常给的顺序是:先翻转,再尺度变换,最后平移,但副产品是对应点关系,理解变量替换后反而不会错。
这里还有一个容易忽略的细节:离散信号的尺度变换,比如由 取偶数点得到 ,并不是无损操作,会丢掉奇数点的信息。这个直观感受很重要,后续讲采样定理、降采样、升采样的时候还会再遇到。
3. 两大“王牌”信号:单位冲激与单位阶跃
第一章如果只能留下两个信号,那一定是单位冲激 和单位阶跃 。这两兄弟几乎贯穿整本教材,在连续时间部分和离散时间部分各有对应:连续冲激 和连续阶跃 ,离散冲激 和离散阶跃 。别看定义极其简单,真正用起来却有不少细节。
3.1 单位阶跃:描述“开启”的开关函数
单位阶跃函数 的定义是:小于0时取0,大于0时取1,至于 这一点取多少,很多教材直接不讨论或约定取1/2。从工程角度讲,阶跃信号代表“从某时刻开始接通一个电源”或者“开关从0跳到1”,它体现了因果特性:开关打开之前没有信号。
阶跃信号主要用来“截断”信号,比如 表示从 开始接通的信号, 表示从 到 开一个“时间窗口”。这个用法在后续求系统响应时特别重要,很多信号的解析表达式都可以由几个阶跃函数组合出来,比如一个矩形脉冲可以写成两个阶跃之差。另外要提一句,单位阶跃的导数就是单位冲激,这个关系看似简单,但真正理解它需要一点广义函数的思想。
3.2 单位冲激:它不是普通函数,却处处是工具
单位冲激函数 的“人设”很特殊:除了 这一点以外处处为0,但从 到 的积分为1。你可以把它想象成一个“面积恒为1、宽度趋近于0、高度趋近于无穷”的极限脉冲,但这不是一个满足普通函数定义的对象,所以工程数学中把它归为广义函数或分布。
我初学的时候总觉得它“不讲武德”,又是无穷高又是面积为1,凭什么能拿来算题。后来才理解,冲激的真正作用是“取样”和“表示瞬时作用”。比如锤子敲一下物体,力作用时间极短,但冲量有限,就可以用冲激来建模。在系统分析里,单位冲激作为输入时,系统的输出叫单位冲激响应 ,它是描述系统的最核心“指纹”。
离散冲激 的定义就正常多了:只在 时等于1,其余时刻全为0。离散冲激在数字信号处理里相当于“单个采样点上的脉冲”,它没有连续冲激那么“玄幻”,但作用类似。
3.3 冲激的两个核心性质:筛选特性和取样特性
单位冲激最重要的性质有两个。第一个是筛选性质:对任意连续函数 ,有 ,换句话说在乘积里,冲激会把 在 处的值“筛选”出来。第二个是取样积分性质:,它表示对 进行加权积分后,得到的是 在冲激位置的取值。
这两个性质特别容易混,但我在考试前记了一个区分方法:凡是“相乘再积分”的,结果就是被积函数在冲激位置的值;凡是“单独看乘积”的,就先用筛选性质把乘积化简成一个冲激乘以一个数值,再去积分。比如 这个积分,就可以直接把 换成 从积分里提出来,结果是 。再看看 就能体会差别,这里 必须延后积分才能真正用冲激的性质。
顺便说一句,如果冲激的尺度发生变化,比如 ,则结果是 ,原因是冲激的“宽度”被压缩后面积变了。很多教材会在习题里反复练习这一点,一开始容易漏了系数,考场上不小心就丢分。
3.4 冲激与阶跃:积分与求导的互逆关系
连续时间上,单位阶跃的导数等于单位冲激:。反过来,单位冲激的积分等于单位阶跃:从负无穷到 对 积分,结果就是 的“台阶”。
这个关系为什么重要,因为第一章很多题会要求你用阶跃表示一个复杂信号,然后通过求导得到“信号中哪些时刻发生了突变、突变幅度是多少”,最后推出信号可以用一串冲激表示。比如一个矩形脉冲求导,会产生两个冲激,一个正一个负,分别对应上升沿和下降沿。这个操作在后续用傅里叶变换求微分方程特解时也常见。
离散时间上也类似:离散阶跃的差分得到离散冲激,离散冲激的累加得到离散阶跃。连续用微分、离散用差分,这两套对应关系自己默写一遍,光看不练很容易记串。
4. 系统性质:六个判别口诀搞定线性时不变
系统是第一章另一个主角。教材会定义“系统是把输入信号映射到输出信号的变换”,然后逐一介绍系统的性质。这一节题目往往不难,但非常雕琢概念,如果你只会背定义不会判别,考试很难拿分。我把六个性质的判断方法整理成了一套“实操口诀”,按步骤来,基本不会错。
4.1 系统的数学描述:从输入输出关系到模型
在第一章阶段,系统通常以“输入输出关系式”给出,比如 或 ,你要根据关系式判断系统的各种性质。到了第三章以后,你还会学到用微分方程、差分方程描述系统,但性质判断的基本思想是不变的。
这里 важно:系统性质的判断不需要知道系统内部结构,只看输入和输出之间的数学关系。这也是系统的“黑箱”视角——我只管外边伸出的两根线,里面是什么不关心。考试给的形式也可能是一个关系式带参数,比如 是否线性、是否时不变,这种题就是变着花样考概念的。
实际工程里,一个系统的数学描述可能很复杂,甚至不是显式的公式,但无论多复杂,性质判断的核心步骤都是“构造特殊输入对比输出关系”,这一点从第一章到考研复试都一直适用。
4.2 线性与非线性:三大步骤一测便知
线性系统需要满足齐次性和叠加性,说白了就是:如果输入放大 倍,输出也放大 倍;如果输入 和输入 各自产生输出 和 ,那么输入 产生的输出等于 。把这两条并在一起,你可以用三步检验一个系统是否线性:
第一步,设两个任意输入 和 ,算出对应输出 和 。第二步,构造输入 ,把它代入系统算输出。第三步,检查算出来的输出是否恰好等于 。如果相等,这个系统对这对输入是线性的;因为 和 是任意的,所以只要有一次不满足,系统就是非线性的。
举个经典例子,系统 。取 和 ,则 和 ,而 的输出是 ,恰好等于 化简出来的 ,所以它是线性的。再看系统 ,同样的流程算下去就会发现 ,而 是 ,两者不相等,所以它是非线性的。
还要提醒一个考试常用陷阱:常数项会让系统变非线性,比如 不是线性系统。初学者容易把 的斜率2当成“系数”,觉得“乘系数不就是线性吗”,但线性定义里常数项会破坏齐次性和叠加性,这也是“增量线性系统”这个概念出现的原因。如果你看到系统输出带一个与输入无关的加性常数,直接判断非线性一般没问题。
4.3 时不变与因果稳定:判断时注意隐藏前提
时不变性的意思是“系统的参数不随时间变化”,换句话说,输入延迟 秒/拍,输出也会延迟 秒/拍,而波形不变。判断方法是:先算 的输出,再算 的输出,对比两者是否恒等。如果系统表达式里出现 这种“显式依赖时间 ”的结构,比如 或 ,通常就是时变系统。常见例子: 是时不变系统,而 是时变系统,因为 直接出现在关系式里。
因果性则指“当前输出只依赖当前及过去的输入,不依赖未来输入”。工程上,因果系统意味着仿真可以实时完成,物理上可实现。判断因果性很简单:把某个时刻 的输出写成关系式,看输出里是否出现大于当前时刻的输入。比如 是因果的,因为 t 时刻输出只用到了当前输入;但 是非因果的,因为 t 时刻输出用到了 这一未来信息。值得注意的是,在离线信号处理里非因果系统也能“实现”,但在实时系统里做不到。
稳定性和记忆性也是热门考点。稳定性常用BIBO稳定判断:有界输入产生有界输出。如果关系式里有除法且分母可能为0,或者有明显积分发散结构,就要小心。记忆性则看输出是否只由当前时刻输入决定,比如 是无记忆的,而 是记忆性的,因为它依赖过去的输入,对应系统内部有储能元件或者状态。这个“记忆”其实就是系统状态概念的第一课。
4.4 六性判别速查表与一个综合实例
为了方便复习,我把六种性质的速查要点整理成一张表:
| 性质 | 定义关键词 | 常见判据 | 典型非系统示例 |
|---|---|---|---|
| 线性 | 齐次 + 叠加 | 输出关于输入是否满足一次函数且无常数项 | |
| 时不变 | 延迟对应延迟 | 关系式里是否显含 t 或 n | |
| 因果性 | 不依赖未来输入 | 输出表达式里是否有未来时刻输入 | 或 |
| 稳定性 | 有界入有界出 | 对任意有界输入,输出是否有界 | 或 积分发散 |
| 记忆性 | 输出依赖历史输入 | 关系式是否包含积分、延迟、累加 | |
| 可逆性 | 不同输入产生不同输出 | 能否从输出反推出输入 |
来看一个综合实例:系统。先判线性:常数3含在输出里,前面乘以2并不影响结论,直接发现当 时,输出是 ,而 的输出是 ,不满足叠加性,所以系统是非线性。判时不变:关系式里的 是显式时间项,输入延迟以后输出并不是单纯整体延迟,所以时变。判因果:输出 只用到当前和过去的信息,所以因果。判稳定性:如果输入有界,比如 ,输出是 ,显然有界,所以BIBO稳定。判记忆性:输出包含过去时刻的输入(),所以有记忆。第6题:系统另外加一个条件 才唯一,那么还有一个初值问题要做,这在状态空间里还要细化。
这张表不是让你死记硬背,而是做题时按行列一一验证。熟练之后,一道系统性质判断题30秒之内就能出答案。
4.5 为什么LTI系统是全书主角
在信号与系统课程里,线性时不变系统(LTI系统)占据了绝对C位。原因非常实际:如果一个系统既是线性又是时不变的,那么你只需要知道它对单位冲激的响应,就能通过卷积算出它对任意输入的响应。这个“已知冲激响应,卷积求任意响应”的路径,是整门课的主干。
换句话说,LTI系统的性质把复杂的“求解系统输出”转化为两步:第一步,把输入信号分解成一系列时移冲激的加权叠加;第二步,利用线性和时不变性,把每个冲激的响应叠加起来。这就是卷积积分、卷积和的物理含义。后续的傅里叶变换、拉普拉斯变换、Z变换,也都是为了简化卷积运算而生的。所以第一章判断系统是否为LTI,不是为考概念而考概念,而是为后面选对工具打基础。
5. 第一章典型题型与易错点实录
这一节是整理自刷题和答疑的真实经验,尤其是那些“老师上课一带而过、作业里却反复出现”的坑。我把它们按题型归类,并写了避坑说明。
5.1 第一章常见题型盘点
在一张期末试卷里,第一章的题大概会占到10到15分,一般以选择、填空和一道小计算题的形式出现。高频题型无非这几类:
第一类,信号分类题,给一个具体表达式,要求判断是能量信号还是功率信号,或者判断是否为周期信号;第二类,波形变换题,已知某信号波形,要求画 、 之类的变换结果,或者写表达式;第三类,冲激性质计算题,比如求 、;第四类,系统性质判断题,给几个关系式,要求逐项判断线性、时不变、因果、稳定;第五类,综合应用,比如已知系统的数学模型和输入信号,要求用第一章概念说明为何能用卷积求输出。
这些题看起来分散,但核心考核点只有两个:你会不会对信号做“数学建模”,你会不会对系统做“性质推理”。刷题时不要只对答案,要逼自己把每一步判断依据口头说出来,说不上来就是掌握不牢。
5.2 易错点一:复合变换的顺序
波形变换的顺序题,十个人里有七八个会错第一次。比如已知 是矩形脉冲,让你画 或者 。如果只看“图像移动直觉”,很容易把先平移再压缩的顺序搞反。
这里有一个百试不爽的笨办法:列出原信号的关键点。假设原信号 在 到 有值,那么设 ,则当 时,;当 时,。于是新信号有值范围是 的闭区间。先用这个办法确定范围,再在范围内选三个点验证,得到的图形基本不会错。等熟练了再去追求“先翻转再缩放后平移”的教科书顺序。这个方法还能顺带解决“先平移还是先翻转”的问题:因为是变量替换,不是图像直觉。
同理,离散时间信号的变换也可以用同一套变量替换思路,只不过不等式变成了整数不等式。多练几次,思维就不会乱了。
5.3 易错点二:冲激积分的上下限与系数
冲激性质用错,最常见在两类题。第一类是积分上下限恰好等于冲激位置,比如 这种,经常有人问“是不是等于 ”。答案是要看区间端点怎么约定,有的教材定义积分包含端点部分则结果乘1/2,但多数习题默认不取端点或认为冲激完全落在积分区间内,直接得 。第二类是冲激的自变量被复合,如 ,要用公式 ,并留意 处冲激的系数。
我建议做这类题时先检查三步:冲激位置是否落在积分区间内(包括端点按教材约定处理);被积函数在冲激位置处是否连续、是否有限;是否有尺度变换带来的系数。三步检查完,一般不会出错。
5.4 易错点三:因果性与“零时刻以后才有输出”不是一回事
因果性是“不依赖未来输入”,不是“ 时刻之前输出必须为0”。系统 在 时输出等于 ,它用到了当前输入,所以是因果系统,但如果你让输入在 时刻才开始,输出也会从 时刻才开始;如果输入是持续信号,输出在 之前也可能有值。这两者不要混淆。
需要格外注意“延迟算子”和“提前算子”。如果系统是 ,它依赖于未来输入,非因果;如果系统是 ,只依赖过去输入,因果。一眼看过去很像,但差一个负号,结论完全相反。这类题非常适合出选择,答案是“仅因果性不同,其他性质相同”的选项,也是常见陷阱。
5.5 一些实用的“信号运算小抄”
最后给你一张我自己整理的小抄,平时做题可以抄在笔记本首页:
- 连续矩形脉冲: 等于 。
- 冲激复合: 。
- 卷积与冲激: ,这是后续卷积章节的基础关系。
- 离散求和与冲激:若 ,则 。
- 判断周期信号:先写出 ,再检查 是否为有理数;连续时任何 都是周期的,离散时必须是整数周期或者周期为有理数。
- 能量信号乘以有限时间窗后可能变成能量信号,“一直开着”的正弦是功率信号。
每个小抄都可以自己举一个例子算一遍,比反复看教材有用得多。
6. 配套学习工具与实践建议
数字信号处理这类课,光靠眼睛看是学不会的。第一章虽然計算量不大,但概念抽象,图形变换和系统性质如果只看书,很难建立直觉。我用过的几个学习工具分享给大家,这些工具都不需要多高配置,本科阶段够用。
6.1 用MATLAB/Octave做可视化验证
MATLAB是首选,如果你不想装商业软件,可以用开源的GNU Octave,语法几乎兼容。第一章可以做的实验很简单:画出信号波形,验证冲激的采样性质,观察平移和尺度变换。比如用以下代码画单位阶跃、矩形脉冲和冲激序列:
t = -5:0.01:5; u = double(t >= 0); subplot(3,1,1); plot(t, u, 'b', 'LineWidth', 1.5); title('Unit Step'); xlabel('t'); ylabel('u(t)'); grid on; rect = double((t >= -2) & (t <= 2)); subplot(3,1,2); plot(t, rect, 'r', 'LineWidth', 1.5); title('Rectangular Pulse'); xlabel('t'); ylabel('x(t)'); grid on; n = -10:10; d = double(n == 0); subplot(3,1,3); stem(n, d, 'k', 'LineWidth', 1.5); title('Unit Impulse (discrete)'); xlabel('n'); ylabel('delta[n]'); grid on;这段代码会让你直观看到阶跃是“台阶”、矩形脉冲是“窗口”、离散冲激是“一根棍”。另一个很有意思的验证是做信号尺度变换:先定义原函数,再用变量替换画出 ,对比两者波形,你会发现“压缩”和“翻转”的具体视觉含义。图形直觉一旦建立,做画图题会轻松很多。
6.2 教材搭配与习题策略
市面上的教材五花八门,我比较推荐奥本海姆的《信号与系统》作为主线,因为它体系完整、对概念讲得透彻。国内教材可以搭配用来快速复习考点和刷题,两者结合效率最高。第一章课后题不需要全刷,建议优先做两类:一类是带“判断并说明理由”的系统性质题,另一类是带“画波形”的信号变换题。这两种题最能暴露理解漏洞。
如果你在准备考研,第一章的系统性质题是“必拿分题”,因为它出题形式固定、规律性强,只要把六性判断流程练熟,基本不会失分。但考研题往往会把多个概念“缝合”在一起,比如“已知某系统是线性时不变的,且输入为冲激时输出为 ,求输入为 时输出”,这种题实际上已经在用第一章概念推导卷积,做了就有收获。
6.3 期末复习重心与时间规划
期末考前一周,如果要给第一章分配时间,我建议按照“3天概念+2天刷题”的节奏。前两天把所有概念过一遍,尤其是冲激性质和六性判断,逐条写清楚定义和判断步骤。接下来三天集中刷题,不用刷太多,每类题刷10到15道足够,但要刷到“闭卷也能快速判断”的程度。最后一天做一套完整试卷或者历年题,把错题对应的知识点回到课本再补一遍。
我的切身体会是,第一章的性价比非常高:投入时间不多,但换来的是后面所有章节的理解地基。当你学到卷积、傅里叶级数、采样定理时,回头看第一章那些“啰嗦”的定义,才能真正感受到它们无处不在的分量。这门课后续还可以往通信、图像处理、自动控制方向延伸,但无论往哪个方向走,第一章这层地基打得牢不牢,决定了你能盖多高的楼。