发动机声音生成设备和方法 【技术领域】
本发明涉及发动机声音生成设备和方法。背景技术 使用诸如检测到的油门开度、 发动机转速等之类的参数生成车辆的发动机声音等 的设备已经是公知的了。例如, 日本专利申请公开第 2000-010576 号中公开的设备被构造 成为用来根据节气门开度的数据和发动机转速的数据来生成发动机声音的合成声音数据。
不过, 如果将采用与所针对车辆类型不同的车辆 ( 或模型车辆 ) 所得的数据用作 发动机声音数据, 那么有时候模型车辆的速度范围、 发动机转数的区域和变化特性、 油门开 度的变化特性等可能会与所针对车辆的这些参数不相对应, 并且没有给出过如何合成出期 望的发动机声音的意见。
发明内容 据前所述, 本发明的一个目的是提供一种改进的发动机声音生成设备和方法, 该 设备和方法能够使用根据车辆的行进速度信息生成的油门开度信息生成发动机声音。
为了实现前面提到的目的, 本发明提供了一种改进的发动机声音生成设备, 其包 括: 存储部分, 其中最初设置了预定的初始值作为油门开度的当前值并且其中该当前值被 可更新地存储 ; 速度信息获取部分, 该速度信息获取部分获取实际车辆的速度信息 ; 变化 趋势鉴别部分, 该变化趋势鉴别部分根据由该速度信息获取部分获得的速度信息得到代表 车速变化趋势的变化趋势数据 ; 油门开度更新部分, 该油门开度更新部分根据该变化趋势 数据改变所述存储部分中存储的油门开度的当前值, 从而用改变了的当前值的值更新油门 开度的当前值 ; 和发动机声音数据生成部分, 该发动机声音数据生成部分生成具有与该存 储部分中存储的油门开度的当前值相对应的特征的发动机声音数据。
按照本发明, 根据所获得的速度信息获得代表车速变化趋势的变化趋势数据, 并 且然后, 根据该变化趋势数据更新存储部分中存储的油门开度的当前值, 从而对油门开度 进行估算。然后, 生成具有与所估算出的油门开度相对应的特征的发动机声音数据。这样, 当要以模拟方式生成发动机声音数据时, 本发明能够采用油门开度估算的办法, 从而能够 执行多样化的控制。
在本发明的优选实施方式中, 发动机声音生成设备还可以包括修正值生成部分, 该修正值生成部分依照变化趋势数据生成油门开度的修正值, 并且其中油门开度更新部分 可以使用该修正值改变所述存储部分中存储的油门开度的当前值, 从而更新该当前值。这 样, 要估算与期望模型车辆相关联的估算油门开度, 仅仅需要按照期望设置与模型车辆相 符的油门开度修正值与变化趋势数据的关系。
在本发明的优选实施方式中, 修正值生成部分包括存储着变化趋势数据和油门开 度的修正值之间的对应关系的表格, 并且所述修正值生成部分参照该表格生成与变化趋势 数据相对应的油门开度的修正值。
在本发明的优选实施方式中, 变化趋势鉴别部分根据由速度信息表明的车速随时 间的变化计算代表变化趋势的数值并且将计算出来的数值生成为变化趋势数据。
在本发明的优选实施方式中, 发动机声音生成设备还包括发动机转数信息获取部 分, 该发动机转数信息获取部分根据响应于由实际车辆所拥有的原动机的操作而旋转的部 分的转数获得代表发动机转数的发动机转数信息, 并且该发动机声音数据生成部分生成具 有与油门开度的当前值和由该发动机转数信息获取部分获得的发动机转数信息相对应的 特征的发动机声音数据。在这种情况下, 发动机声音数据生成部分包括其中存储着与预先 假设的模型车辆的发动机转数和油门开度的组合相关联的发动机声音数据的发动机声音 数据存储部分, 并且该发动机声音数据生成部分使用发动机声音数据存储部分中存储的发 动机声音数据来生成具有与油门开度的当前值和由该发动机转数信息获取部分获得的发 动机转数信息的组合相对应的特征的发动机声音数据。
在本发明的优选实施方式中, 发动机声音生成设备还包括判定部分, 该判定部分 确定是否有档位变化。当所述判定部分确定有档位变化时, 所述油门开度更新部分将所述 存储部分中存储的油门开度的当前值更新为预定值, 而不使用修正值进行更新。
本发明不仅可以按照前面讨论的装置发明那样来构造和实现, 而且也可以作为方 法发明来构造和实现。而且, 可以将本发明安排和实现为由诸如计算机或 DSP 之类的处理 器执行的软件程序以及存储着这一软件程序的存储介质。
下面将介绍本发明的实施方式, 但是应当意识到本发明并不局限于所介绍的实施 方式, 并且在不脱离基本思想的情况下本发明的各种变型都是可行的。因此本发明的范围 仅由所附的权利要求确定。 附图说明
为了更好地理解本发明的目的和其它特征, 下面将参照附图更加详细地介绍本发 明的优选实施方式, 其中 :
附图 1 是表示按照本发明的实施方式的发动机声音生成设备的总体结构的框图 ;
附图 2 是实际车辆和模型车辆的车速区域的图解说明 ;
附图 3 是具体档车速区域设置信息的图解说明 ;
附图 4 是具体档车速区域设置信息的图解说明 ;
附图 5 是发动机声音生成设备生成代表发动机转数的信息的处理的流程图 ;
附图 6A 和图 6B 是比较实际车辆的车速和检测到的车速的曲线图 ;
附图 7A 到图 7C 是车速变化趋势的图解说明 ;
附图 8A 和图 8B 是油门开度修正的图解说明 ;
附图 9A 到图 9C 是油门开度修正值的图解说明 ;
附图 10 是表示在变速器降档时车速、 发动机转数和油门开度随时间变化的例子 的曲线图 ;
附图 11 是表示在变速器升档时车速、 发动机转数和油门开度随时间变化的例子 的曲线图 ;
附图 12 是发动机声音生成设备生成代表油门开度的信息的处理的流程图 ;
附图 13 是由发动机声音生成部分生成发动机声音的图解说明 ; 和附图 14 是表示按照本发明的变型 1 的发动机声音生成设备的总体结构的框图。具体实施方式
附图 1 是表示按照本发明的实施方式的发动机声音生成设备 10 的总体结构的框 图。发动机声音生成设备 10 包括检测部分群 20、 存储部分 30、 处理部分 40、 发动机声音生 成部分 50 和操作部分 60, 并且发动机声音生成设备 10 利用这些部件生成发动机声音。检 测部分群 20 包括用于检测车辆的行进速度 ( 此后称为″车速″ ) 的车速检测部分 210 和 用于检测车辆加速度的加速度检测部分 220。例如, 车速检测部分 210 包括安装在传动轴 上的用于检测传动轴转数的传感器, 传动轴响应于车辆原动机的操作转动车轮。车速检测 部分 210 基于该传感器检测到的转数来检测车速。车速检测部分 210 生成代表检测到的车 速的值的信息 ( 下文中将会把这一信息称为″车速信息″ ) 并且将这样生成的车速信息输 出到处理部分 40。配备在车辆上的加速度检测部分 220 包括用于检测车辆加速度的传感 器。加速度检测部分 220 将代表车辆行进方向上的加速度值的信息, 也就是代表所检测到 的加速度的值的信息, 输出给处理部分 40( 下文中将会把这一信息称为″加速度信息″ )。 注意, 加速度检测部分 220 可以通过对车速信息进行诸如微分之类的算术运算来确定加速 度。 存储部分 30 中存储着代表实际带着安装于其上的发动机声音生成设备 10 一起 行驶的车辆 ( 下文中将会把这一车辆称为″实际车辆 R″ ) 的各种特征和作为要由发动机 声音生成设备 10 生成的发动机声音的模型而预先设想的车辆 ( 下文中将会把这一车辆称 为″模型车辆 M″ ) 的各种特征的信息。车辆设置信息 310 是代表模型车辆 M 的轮胎外周 长度、 变速器齿轮齿数比 ( 也简称为″档″ ) 等的设置值的信息。车速区域设置信息 320 是代表实际车辆 R 和模型车辆 M 的车速范围的设置值的信息。速度与转数之间的对应关系 设置信息 330 是代表与模型车辆的变速器的各个齿轮齿数比 ( 下文中简称为″档″ ) 相关 联的模型车辆的行进速度与转数之间的对应关系的信息。定档时油门开度设置信息 340 是 通过后面将要介绍的运算根据实际车辆 R 的车速信息生成油门开度时使用的设置信息。换 档时油门开度设置信息 350 是通过后面将要介绍的运算生成换挡期间油门开度时使用的 设置信息。在本实施方式中, 实际车辆 R 代表要求保护的发明中的″车辆″, 并且由变速器 的多个档的组合实现的多个转数比代表所要求保护的发明中的″档位″。
处理部分 40 包括 CPU( 中央处理单元 )410、 ROM( 只读存储器 )420 和 RAM( 随机存 取存储器 )430, 其中 ROM 420 中存储着 CPU 410 使用的程序等, RAM 430 作为 CPU 410 的工 作区使用。这些部件 410、 420 和 430 一起构成了一台常规的计算机。处理部分 40 根据存 储部分 30 中存储的各种信息处理由车速检测部分 210 和加速度检测部分 220 检测到和输 出的实际车辆 R 的信息。通过这一处理, 处理部分 40 生成代表生成发动机声音所要使用的 发动机转数值和油门开度值的信息。处理部分 40 将这样生成的信息输出给发动机声音生 成部分 50。
发动机声音生成部分 50 包括用于存储代表模型车辆 M 的发动机声音波形的发动 机声音数据的发动机声音数据存储部分 510。发动机声音生成部分 50 使用发动机声音数 据和从处理部分 40 输入的发动机转数和油门开度的信息生成与实际车辆 R 驾驶状态相应 的发动机声音数据。发动机声音生成部分 50 将代表所生成的发动机声音数据的信号输出
到未示出的外部输出装置, 比如放大器、 扬声器等, 以便通过这些输出装置可听见地生成发 动机声音。操作部分 60 具有多个按钮或触摸板等的功能, 从而使得它能够起到可由用户操 作来给出选择、 检查、 确认、 取消和其它指令的装置的作用, 并且它输出代表用户对处理部 分 40 进行的操作的内容的信息。模型车辆 M 可以具有不同于实际车辆 R 的类型 ( 轿车、 赛 车、 跑车、 卡车、 大客车等等 ) 和行驶性能。例如, 在实际车辆 R 是普通类型的车辆时, 可以 生成赛车的发动机声音作为模型车辆 M 的发动机声音。可替换地, 可以采用电影或动画片 中出现的虚构车辆作为模型车辆 M。
为了再现模型车辆 M 的发动机声音, 发动机声音生成设备 10 的实施方式根据从 实际车辆 R 获得的信息创建模型车辆 M 的虚拟操作状态。这些操作状态之一是发动机转 数。发动机声音生成设备 10 根据代表模型车辆 M 的档和车速的信息生成代表发动机转数 的信息。不过, 此时如果模型车辆 M 与实际车辆 R 二者的速度范围 ( 下文中也称为″车速 区域″ ) 差得很大, 那么原样不动地使用的实际车辆 R 发动机转数仅仅相当于模型车辆 M 的发动机转数数值范围的一部分 ; 这样, 如果原样不动地使用实际车辆 R 的发动机转数, 就 不能在采用模型车辆 M 的情况下获得期望的发动机转数。
附图 2 是实际车辆 R 和模型车辆 M 的车速区域的图解说明。 在附图 2 中, 纵轴代表 发动机转数 (rpm), 而横轴代表车速 (km/h)。″ RB″表示实际车辆 R 的车速区域, ″ rb″ 表示车速区域 RB 中指定的实际车辆 R 的最大速度或将近最大速度。″ MB″表示模型车辆 M 的车速区域,″ mb″表示车速区域 MB 中指定的模型车辆 M 的行进性能能够达到的最大 速度或将近最大速度。在模型车辆 M 是虚拟车辆的情况下, 最大速度或将近最大速度 mb 可 以是虚拟设置的特定速度。速度 rb 代表所要求保护的发明中的第一特定速度, 而速度 mb 是所要求保护的发明中的第二特定速度。 此外, 在附图 2 中, 档 MG1、 MG2、 MG3 和 MG4 各自代表模型车辆 M 的档分别处于第一 档位、 第二档位、 第三档位和第四档位时发动机转数与车速之间的对应关系。 在本实施方式 中, 模型车辆 M 中车速与发动机转数具有档与档之间斜率不同的线性对应关系。 ″ MRmax″ 表示由模型车辆 M 中所采用的发动机性能决定的最大发动机转数。下面将会针对具有附图 2 中所示的行进特性的模型车辆 M 加以介绍。尽管作为示意性的例子, 附图 2 中所示的模 型车辆 M 具有四个档位, 但是模型车辆 M 可以具有不同于四个的档位数。此外, 虽然希望发 动机转数与车速如附图 2 中所示那样彼此之间具有线性对应关系。但是按照另外一种可选 方案, 发动机转数与车速也可以具有曲线形对应关系或者具有带有奇异点的对应关系。例 如, 对应关系可以是这样的 : 发动机转数在低速区域内缓慢增加, 但是一旦车速达到高速区 域就会快速增加。
如上文所述, 发动机声音生成设备 10 根据模型车辆 M 的档和车速的信息生成代表 发动机转数的信息。在模型车辆 M 的行进性能与实际车辆 R 不同的情况下, 如附图 2 中所 见, 模型车辆 M 与实际车辆 R 之间的车速区域不同, 因此如果模型车辆 M 的发动机转数是原 样不动地使用实际车辆 R 的车速确定的, 那么就无法获得期望的发动机转数。就是说, 即使 当实际车辆 R 处于最大速度或将近最大速度 rb 时, 档位 MG3 和 MG4 上发动机转数也没有那 么大, 因此, 在车速区域 RB 内, 在所有四个档位上都不能生成高转速发动机声音。因此, 发 动机声音生成设备 10 使用下面的基于前面提到过的速度 rb 与 mb 之间的比率的数学表达 式, 将由车速检测部分 210 检测到的实际车辆 R 的车速转换为模型车辆 M 的虚拟最大速度
( 下文中称为″虚拟车速″或″虚拟速度″ ) :
虚拟车速 (mm/min) =实际车辆 R 的车速 (mm/min)× 模型车辆 M 的最大速度 (km/ h)÷ 实际车辆 R 的最大速度 (km/h)
通过这样的实际车辆 R 的车速转换, 发动机声音生成设备 10 获得了与实际车辆 R 的运作状态相对应的模型车辆 M 的运作状态下的虚拟车速。于是, 发动机声音生成设备 10 根据所获得的虚拟车速和速度与转数之间的对应关系设置信息 330 来判断前述运作状态 下模型车辆 M 的档。速度与转数之间的对应关系设置信息 330 包括要用作实际车辆 R 正在 加速或减速时的档的判断标准的设置信息和要用作实际车辆 R 正在以匀速行进时的档的 判断标准的设置信息。注意, 这里使用的术语″最大速度″是用来表示车辆正在行进时采 用的最大速度, 而不是车辆性能的最大极限 ; 不过, ″最大速度″可以代表这种车辆性能的 最大极限。例如,″最大速度″可以是法律规定的最高速度。而且要注意, 除了前述公式 之外的任何其它适当的数学表达式都可以用于车速转换。
附图 3 是要在实际车辆 R 加速或减速时予以参考的速度与转数之间的对应关系设 置信息 330 的图解说明, 其中纵轴和横轴以及各档 MG1、 MG2、 MG3 和 MG4 的对应关系的斜率 与附图 2 中的类似。附图 3 表示针对模型车辆 M 的虚拟车速选择档 MG1、 MG2、 MG3 和 MG4 的情况下的区域 ga1、 ga2、 ga3 和 ga4( 下文中, 在不需要彼此区分的情况下, 将会把这些区 域统称为″区域 ga″ )。当虚拟车速处于区域 ga1 内时, 发动机声音生成设备 10 使用与档 MG1 相对应的速度与转数之间的对应关系来生成发动机转数。随着虚拟车速响应于实际车 辆 R 的加速而增加, 所生成的发动机转数达到了升档发动机转数 SUa1, 并且于是离开了区 域 ga1。此时, 发动机声音生成设备 10 将用于生成发动机转数的档特定的速度与转数之间 的对应关系转换为档 MG2 的这一对应关系。在此之后, 只要实际车辆 R 加速, 发动机声音生 成设备 10 就会在升档发动机转数 SUa2 和 SUa3 的每一个时将档特定的速度与转数之间的 对应关系转换为下一个高档 MG3 或 MG4 的速度与转数之间的对应关系。注意, 虽然在所图 示的例子中将升档发动机转数 SUa1、 SUa2 和 SUa3 都设置为相同的数字, 但是升档发动机转 数 SUa1、 SUa2 和 SUa3 可以被设置为不同数字。
另一方面, 当实际车辆 R 减速时, 一旦发动机转数减小到升档发动机转数 SDa2、 SDa3 和 SDa4 中的任何一个, 发动机声音生成设备 10 就会将档特定的速度与转数之间的对 应关系转换为下一个低档 MG1、 MG2 或 MG3 的速度与转数之间的对应关系。按照上述方式, 发动机声音生成设备 10 实现了变档或换挡, 从而变速器升档或降档 ( 即, 变速器换高速档 或换低速档 ) 会响应于所获得的虚拟速度的增加或减小在预定的车速上发生。于是, 发动 机声音生成设备 10 参照前面提到的速度与转数之间的对应关系设置信息 330 选择与所换 到的档 ( 传动比 ) 对应的档特定的速度与转数之间的对应关系。
此时, 区域 ga1 和区域 ga2 在附图 3 中所示的虚拟车速区域 B1 中彼此重叠。在这 一虚拟车速区域 B1 中, 发动机声音生成设备 10 依据实际车辆 R 的行进状态使用档 MG1 或 MG2 来生成代表发动机转数的信息。发动机声音生成设备 10 的行为类似于上述虚拟车速 区域 B2 和 B3 中的行为。在这些区域中, 除非所生成的发动机转数超过了升档发动机转数 SUa1、 SUa2 和 SUa3 中的任何一个, 否则即使在实际车辆 R 的行进已经从加速变为减速时, 用于生成发动机转数的档也并不会被换到下一个高档 MG2、 MG3 或 MG4。类似地, 除非所生 成的发动机转数低于了降档发动机转数 SDa2、 SDa3 和 SDa4 中的任何一个, 否则即使在实际车辆 R 的行进已经从减速变为加速时, 用于生成发动机转数的档也并不会被换到下一个低 档 MG1、 MG2 或 MG3。就是说, 发动机声音生成设备 10 实现了这样的换挡 : 从某一档发生降 档时的车速小于发生升档到某一档时的车速。 下文中将会把这些速度之间的区域称为″死 车速区域″。由于定义了″死车速区域″, 因此发动机转数与车速之间的关系给出了附图 所示的变速器升档和降档之间的滞后特性。
附图 4 是要在实际车辆 R 以恒定速度行驶时参考的速度与转数之间的对应关系设 置信息 330 的图解说明。在附图 4 中, 纵轴和横轴以及各档 MG1、 MG2、 MG3 和 MG4 的斜率类 似于附图 2 中的。附图 4 表示针对模型车辆 M 的虚拟车速选择各档 MG1、 MG2、 MG3 和 MG4 的 情况下的区域 gb1、 gb2、 gb3 和 gb4( 下文中, 在不需要彼此区分的情况下, 将会把这些区域 统称为″区域 gb″ )。当实际车辆 R 以恒定速度行进时, 发动机声音生成设备 10 使用比加 速和减速时使用的档高的档来生成代表发动机转数的信息。因此, 将区域 gb 设置为这样 : 发生变速器升档或降档时的车速要低于前面提到的区域 ga 中的这一车速。 此外, 将区域 gb 设置为这样 : 所生成的发动机转数不会降低到预定范围以下。 就是说, 即使对于同样的虚拟 车速, 所生成的发动机转数也会变得比实际车辆 R 加速和减速时的发动机转数小。发动机 声音生成设备 10 根据加速度检测部分 220 检测到的加速度信息确定实际车辆 R 是否正在 以恒定速度行进。
一般来说, 发动机的旋转伴有燃爆间隔波动 ( 下文中将会把这一燃爆间隔波动简 称为″波动″ )。为了再现这一波动, 本实施方式的发动机声音生成设备 10 使用按照模 型车辆 M 的发动机特性预先确定的范围内生成的随机数。在本实施方式中, 假设所述预 先确定的范围是从零到定义波动宽度的预定上限值 ( 将会把这个预定上限值称为″波动 值″ )。就是说, 处理部分 40 生成从零到波动值范围内的随机数并且执行根据所生成的随 机数对发动机转数施加波动的处理。 例如, 可以将所生成的随机数加到发动机转数上, 或者 可以通过将发动机转数和随机数代入到预定函数中来计算发动机转数。
附图 5 是发动机声音生成设备 10 生成代表发动机转数的信息的处理的流程图。 首 先, 在步骤 S110, 发动机声音生成设备 10 检测实际车辆 R 的车速。然后, 在步骤 S120, 发动 机声音生成设备 10 根据存储在存储部分 30 中的车速区域设置信息 320 将所检测到的车速 转换为虚拟车速。在下一个步骤 S130, 发动机声音生成设备 10 检测实际车辆 R 的加速度。 然后, 在步骤 S140, 发动机声音生成设备 10 确定所检测到的加速度的绝对值是否小于预定 值″ a″。如果所检测到的加速度的绝对值等于或大于预定值″ a″ ( 在步骤 S140 是否定 的判断结果 ), 则在步骤 S150, 发动机声音生成设备 10 读出要在实际车辆 R 加速或减速时 参考的速度与转数之间的对应关系设置信息 330。 注意, 前面提到的步骤 S110、 S120 和 S130 的顺序可以是反过来的。
如果所检测到的加速度的绝对值小于预定值″ a″ ( 在步骤 S140 是肯定的判断结 果 ), 则在步骤 S160, 发动机声音生成设备 10 读出要在实际车辆 R 以恒定速度行进时参考 的速度与转数之间的对应关系设置信息 330。然后, 在步骤 S170, 发动机声音生成设备 10 根据所读出的设置信息和虚拟车速更新档的信息 ( 即, 档信息 ), 该档信息将要用来生成代 表发动机转数的信息。 在下一个步骤 S180, 发动机声音生成设备 10 根据更新后的设置信息 和虚拟车速以及速度与转数之间的对应关系设置信息 330 生成代表模型车辆的发动机转 数的信息。然后, 在步骤 S190, 发动机声音生成设备 10 执行用来生成前面提到的随机数和将这样生成的随机数与所生成的发动机转数相加的波动处理。
下面介绍如何从实际车辆 R 的车速获得油门开度。驾驶实际车辆 R 的驾驶人员通 过压下可用来进行操纵油门开度的操作的加速控制器 ( 未示出 ) 以在预定范围内移动该加 速控制器, 来调节油门开度。例如, 在不对加速控制器加以操纵时, 油门开度是 0%, 而当加 速控制器处于预定范围的最大极限位置上时, 油门开度为 100%。 根本没有对加速控制器进 行操纵时的开度由处理部分 40 预存在 RAM 430 中, 作为初始油门开度值″ 0″ (% ), 不过 也可以将初始油门开度值设置为任何其它的适当值。下文中将会把存储在 RAM 430 中的油 门开度值称为″油门开度 A″。 油门开度 A 是可由处理部分 40 连续更新的值并且是代表油 门开度当前值的值。除了 RAM 430 之外, 油门开度 A 也可以存储在可由处理部分 40 更新的 任何适当的部分中。一旦车辆开始行进, 处理部分 40 就会根据档和车速的变化趋势来计算 油门开度 A 的当前值。这一车速变化是根据由车速检测部分 210 检测到的车速来获得的。 下面介绍由车速检测部分 210 检测到的车速。
附图 6 是对实际车辆 R 的车速和检测到的车速进行比较的曲线图。在附图 6 中, C1 表示车速检测部分 210 检测实际车辆 R 的车速并且将所检测到的车速输出到处理部分 40 的一个循环周期 C1。循环周期 C1 具有根据模型车辆 M 的发动机特性、 车速检测部分 210 的传感器性能和 / 或之类的因素预先确定的长度。在本实施方式中, 假设循环周期 C1 具有 20 毫秒的长度。更具体地, 附图 6A 示出了实际车辆 R 处于加速状态时每个周期 C1 测得的 车速 rs 和实际车速 RS。 本实施方式中的车速检测部分 210 以 1km/h 为单位 ( 即, 以 1km/h 的分辨率 ) 检 测车速。 这一单位 ( 即, 1km/h) 表示车速检测部分 210 分辨速度的能力, 并且下文中将会把 这一能力称为″速度分辨率″。更具体地, 在附图 6A 图示的例子中, 车速检测部分 210 在 时间点 ta1 和 ta2 检测到车速 rs1, 并且在时间点 ta3 和 ta4 检测到车速 rs2。车速 rs2 比 车速 rs1 高 1km/h。因此, 即使当实际车辆 R 的车速在循环周期 C1 期间变化了一个小于车 速检测部分 210 的速度分辨率的量时, 车速检测部分 210 也不会检测到这一车速变化。
附图 6B 是表示在实际车辆 R 以恒定车速行进时所检测到的车速 rs 和实际车速 RS 的曲线图。车辆 R 的实际车速 RS 从时间点 tb1 到 tb4 恒定保持在 RS5 上。另一方面, 车速 检测部分 210 在时间点 tb1 和 tb3 检测到车速 rs3, 并且在时间点 tb2 和 tb4 检测到车速 rs4。车速 rs3 比车速 rs4 高 1km/h。就是说, 在实际车辆 R 以介于可由车速检测部分 210 检测到的车速 rs3 和 rs4 之间的车速 RS5 行进的时候, 车速检测部分 210 却只能反反复复 检测到车速 rs3 和 rs4。这样, 发动机声音生成设备 10 就不能判断出实际车辆 R 是否正在 以恒定车速行驶。为了检测到因为车速检测部分 210 的速度分辨率而不能察觉到的车速, 将发动机声音生成设备 10 构造成用来检测实际车辆 R 的车速变化趋势 ( 下文中将会把这 一趋势称为″车速变化趋势″ ) 并且根据所检测到的车速变化趋势来判断实际车速。
附图 7 是车速变化趋势的图解说明。如前面所指出的, 车速检测部分 210 向处理 部分 40 输出以循环周期 C1 为时间间隔检测到的车速。处理部分 40 将从车速检测部分 210 输入的各个车速信息存储到 RAM 430 中。然后, 处理部分 40 将在时间点 t(n) 检测到的车 速与在比时间点 t(n) 早一个循环周期 C1 的时间点 t(n-1) 检测到的车速进行比较。如果 比较结果发现在时间点 t(n) 检测到的车速高于在时间点 t(n-1) 检测到的车速, 则处理部 分 40 将一个值″ +1″存储到 RAM 430 中, 作为在时间点 t(n) 按照与时间点 t(n-1) 检测到
的车速间的差异确定的值。另一方面, 如果比较结果发现在时间点 t(n) 检测到的车速小于 在时间点 t(n-1) 检测到的车速, 则处理部分 40 将一个值″ -1″存储到 RAM 430 中, 作为在 时间点 t(n) 按照与时间点 t(n-1) 检测到的车速间的差异确定的值。此外, 如果发现在时 间点 t(n) 检测到的车速等于在时间点 t(n-1) 检测到的车速, 则处理部分 40 在 RAM 430 中 存储一个值″ 0″。下文中将会把这一在时间点 t(n) 按照与在前一时间点 t(n-1) 检测到 的车速间的差异确定的值称为″车速差 D(n)″, 并且在不具体指定时间点的情况下称为″ 车速差 D″。按照前述方式, 本实施方式中的处理部分 40 获得了车速差 D, 该车速差就是每 个循环周期 C1 的车速变化趋势。
处理部分 40 获取每一循环周期 C1 的这一车速差 D(n) 并且将所获得的车速差 D(n) 累积到 RAM 430 中。循环周期 C1 是通过将预定周期 C2 分成多个较小周期而获得的单 位时间段 ( 或子周期 ) 之一。一旦将与预定周期 C2 相对应的车速差 D(n) 按顺序累积到了 RAM 430 中, 处理部分 40 就会对所累积的车速差 D(n) 进行求和。车速差 D(n) 的总和表示 实际车辆 R 的车速按照哪种趋势变化。就是说, 处理部分 40 根据在循环周期 C1 内获得的 变化趋势来获得周期 C2 的变化趋势。周期 C2 具有按照模型车辆 M 的发动机特性等确定的 长度。下文中将会把在一直持续到时间点 t(n) 的周期 C2 期间获得的车速差 D(n) 的总和 值称为″车速变化趋势 L(n)″, 并且在没有特别指定时间点的情况下称为″车速变化趋势 L″。周期 C2 的长度是根据前面提到的周期 C1 与执行发动机声音生成所依照的周期之间 的关系来确定的。例如, 在本实施方式中, 假设周期 C2 的长度是 320 毫秒。车速变化趋势 L 代表车辆 R 的车速变化趋势。 附图 7 中所示的车速 rs4、 rs5 和 rd6 表示在一直持续到时间点 t(n) 的周期 C2 期 间车速检测部分 210 检测到的实际车辆 R 的车速变化的实例。更具体地, 附图 7A 的车速实 例 rs4 表示在实际车辆 R 以恒定速度行进时检测到的车速。在车速实例 rs4 中, 在周期 C2 期间反复进行响应于车速差 D 增加 +1 而加 -1 的操作。在车速实例 rs4 中, 处理部分 40 获 得 +1 作为车速变化趋势 L(n)。附图 7B 的车速实例 rs5 表示在实际车辆 R 减速时检测到 的车速。车速实例 rs5 包括周期 C2 中的很多车速差 D 为 -1 的循环周期 C1。在车速实例 rs5 中, 处理部分 40 获得 -7 作为车速变化趋势 L(n)。附图 7C 的车速实例 rs6 表示在实际 车辆 R 加速时检测到的车速。车速实例 rs6 包括周期 C2 内的很多车速差 D 为 +1 的循环周 期 C1。在车速实例 rs6 中, 处理部分 40 获得 +8 作为车速变化趋势 L(n)。处理部分 40 根 据车速变化趋势 L(n) 得到一个用于修正油门开度 A 的值。
附图 8 是基于油门开度修正值的油门开度修正的图解说明。附图 8A 示出的是 保存着车速变化趋势 L 和油门开度修正值 CR 的值之间的对应关系的表格 T1。表格 T1 作 为一个定档时油门开度设置信息 340 存储在存储部分 30。就是说, 在表格 T1 中, 车速变 化趋势 L 和油门开度修正值 CR 的值以这样一种方式彼此相互关联 : 在车速变化趋势 L 的 值是″ 3 或更大″、″ +2″、″ -2″和″ -3 或更小″的情况下, 油门开度修正值 CR 分 别是″ +2″、″ +1″、″ -1″和″ -2″。稍后将参照附图 9 介绍车速变化趋势 L 的值 是″ 1″、 ″ 0″和″ -1″的情况。附图 8B 是表示油门开度 A 如何按照表格 T1 波动的曲线 图。时间点 t c0 到 tc8 是从时间点 tc0 开始每隔一个周期 C2 连续变化的时间点。从时间 点 t c0 到时间点 tc3, 加了三次 +2 作为油门开度修正值 CR, 从而油门开度 A 在时间点 tc3 处取得的值为 6%。在时间点 tc3 之后,″ +1″、″ -1″、″ -2″、″ -1″和″ +1″的
油门开度修正值 CR 被按顺序加到油门开度 A 上, 从而油门开度 A 变为 7%、 6%、 4%、 3%并 且然后变为 4%。
附图 9 是车速变化趋势 L 为″ 1″、″ 0″和″ -1″时油门开度修正值的图解说 明。当车速变化趋势 L 为″ 1″、″ 0″和″ -1″时, 就意味着实际车辆 R 正在以基本上 恒定不变的车速行进 ( 下文中将会把这样的行进称为″恒定速度行进″ )。在这种情况 下, 油门开度被保持为近似恒定不变。而且, 下文中将会把在实际车辆 R 以恒定速度行进 期间保持恒定不变的油门开度称为″参考油门开度 BA″。前面提到的车速变化趋势 L 的 值″ 1″、 ″ 0″和″ -1″是在按照实际车辆 R 的行进特性预先确定的范围内设定的, 不过 也可以在其它的范围内设定它们。更具体地, 附图 9A 示出的是表格 T2, 其中彼此相互关联 地存储着实际车辆 R 的恒定车速的值和参考油门开度 BA 的值。表格 T2 作为一个定档时油 门开度设置信息 340 存储在存储部分 30 中。表格 T2 定义了实际车辆 R 的恒定车速的值与 参考油门开度 BA 的值之间的关联关系的一个实例, 这一关联关系是按照实际车辆 R 的性能 和提供发动机声音的模型车辆 M 的性能设定的。
如果时间点 t(n) 处的车速变化趋势 L(n) 为″ 1″、 ″ 0″或″ -1″, 则处理部分 40 判定实际车辆 R 正在以基本上恒定的车速行进。然后, 处理部分 40 参考表格 T2 根据时 间点 t(n) 的车速和时间点 t(n) 检测到的车速 rs(n) 获得参考油门开度 BA(n)。然后, 根据 所获得的参考油门开度 BA(n), 处理部分 40 使用不同于表格 T1 的表格 T3 获得油门开度修 正值。附图 9B 是表格 T3 的图解说明, 表格 T3 中彼此相互关联地存储着所获得的参考油门 开度 BA(n) 与比时间点 t(n) 早 - 个周期 C2 的时间点 t(n-1) 处的油门开度 A(n-1) 之间的 比较结果以及油门开度修正值 CR。表格 T3 作为一个定档时油门开度设置信息 340 存储在 存储部分 30 中。在表格 T3 中, 油门开度修正值″ +1″、″ 0″和″ -1″与大于油门开度 A(n-1) 的参考油门开度 BA(n)、 等于油门开度 A(n-1) 的参考油门开度 BA(n) 和小于油门开 度 A(n-1) 的参考油门开度 BA(n) 相关联。就是说, 表格 T3 基于 RAM 430 中存储的参考油 门开度 BA(n) 和油门开度 A(n-1) 的值指出油门开度的修正值。
附图 9C 是表示油门开度 A 按照表格 T2 和 T3 波动的实例方式的曲线图。时间点 td0 到 td4 和 td10 到 td14 是每隔周期 C2 连续变化的时间点。附图 9C 示出的是实际车辆 R 从时间点 td0 到时间点 td4 以恒定车速行进并且从时间点 td10 到时间点 td14 以恒定车 速行进的情况。让我们假设时间点 td0 处的油门开度为 1(% )。如果实际车辆 R 从时间点 td0 到时间点 td3 以 35km/h 的速度行进, 则处理部分 40 参考表格 T2 来获得 2( % ) 作为 参考油门开度 BA 的值。然后, 处理部分 40 将时间点 td1 处的参考油门开度 BA 的值 ( 即, 2(% )) 与时间点 td0 处的油门开度 A 的值 ( 即, 1(% )) 进行比较。然后, 根据比较结果, 处理部分 40 参考表格 T3 来获得值″ +1″作为油门开度修正值 CR。一旦像这样获得了油 门开度修正值 CR, 处理部分 40 就将油门开度修正值 CR 与油门开度 A 的值相加, 从而计算出 时间点 td1 处的油门开度 A 的值。在这种情况下, 如此计算出来的时间点 td1 处油门开度 A 的值为 2(% )。因为油门开度 A 和参考油门开度 BA 都是 2(% ), 即, 彼此相等, 所以时间 点 td2 到 td4 的油门开度修正值 CR 为″ 0″, 从而油门开度 A 保持为 2(% )。
假设实际车辆 R 从时间点 td10 到时间点 td14 以 50km/h 的速度行进。如果时间 点 td10 处的油门开度 A 是 3( % ), 则处理部分 40 在时间点 td11 参考表格 T2 和 T3 来获 得″ +1″作为油门开度修正值 CR 并且计算油门开度 A 为 4(% )。 在时间点 td12, 处理部分40 参考表格 T2 和 T3 获得″ -1″作为油门开度修正值 CR 并且计算油门开度 A 为 3(% )。 因为在本实施方式中是以 1%的分辨率设定的油门开度修正值 CR, 所以如果参考油门开度 BA 包括小数位, 就要将油门开度 A 计算成在最接近参考油门开度 BA 值的两个值之间反复交 替。如前面所提出的, 一旦获得了参考油门开度 BA, 声音生成设备 10 就使用与所获得的值 相对应的油门开度修正值 CR 更新 RAM 430 中存储的油门开度的值。注意, 可以以小于或大 于 1(% ) 的分辨率设定油门开度修正值 CR。
接下来, 将会给出关于在普通车辆的驾驶人员通过降档或升档操作进行换挡或变 档时的油门开度的介绍。为了进行换挡, 驾驶人员将发动机的旋转运动与驱动轴的旋转运 动分离开, 按照改变后的齿轮比调整发动机转数并且然后再次将发动机和驱动轴连接起 来。下面介绍在例如手动变速器车辆中进行的操作。注意, 在自动变速器车辆中, 下面的控 制是由自动变速器代替驾驶人员来执行的。
附图 10 是表示在变速器降档时车速 S、 发动机转数 R 和油门开度 A 随时间变化的 例子的曲线图。附图 10 示出的是如车速 S 表明的车辆减速时的情形。在变档之前, 驾驶人 员使之前操纵的加速控制器回位, 直到油门开度返回到 0(% )。在图示的例子中, 油门开 度在时间点 te1 返回到了 0(% )。然后, 在时间点 te2, 驾驶人员开始将变速器换到低速档 ( 低齿轮比 ) 的操作。 首先, 在将变速器与发动机分离之后, 驾驶人员操纵加速控制器, 直到 油门开度 A 达到预定开度 A1( 下文中称为″降档油门开度 A1″ )。随着油门开度 A 像这样 增加, 发动机转数 R 从 R1 增加到 R2。然后, 在时间点 te3, 驾驶人员将变速器再次与发动机 连接并且使所操纵的加速控制器还原, 直到油门开度再次达到 0(% )。通过驾驶人员以前 述方式控制车辆, 车辆可以在用低速档实现较大发动机制动力的同时减速。降档油门开度 A1 作为一个换档时油门开度设置信息 350 存储在存储部分 30 中。
附图 11 是表示在变速器升档时车速 S、 发动机转数 R 和油门开度 A 随时间变化的 例子的曲线图。在附图 11 中, A0、 A2 和 A3 表示油门开度的值, R3 和 R4 表示发动机转数的 值。附图 11 表示的是如车速 S 所示的车辆正在加速的情形。驾驶人员通过操纵加速控制 器来使车辆加速, 直到油门开度达到值 A3。油门开度 A3 表示车辆的最大油门开度 ( 下文 中称为″最大油门开度 A3″ )。驾驶人员在时间点 tf2 开始使变速器升档。首先, 驾驶人 员使之前操纵的加速控制器回位, 直到油门开度达到 0(% )。在这种情况下, 驾驶人员在时 间点 tf2 执行加速控制器回位操作, 从而使得油门开度取值 A0 ; 值 A0 表示油门开度当前为 0(% )。
在达到油门开度 A0 之后, 驾驶人员将变速器与发动机分离。然后, 驾驶人员操纵 加速控制器, 直到油门开度 A 达到预定值 A2( 下文中称为″升档油门开度 A2″ )。 这里假设 升档油门开度 A2 是最大油门开度 A3 的值的一半。一旦油门开度 A 达到升档油门开度 A2, 驾驶人员就将变速器与发动机再次连接。 在连接变速器之后, 驾驶人员操纵加速控制器, 直 到油门开度 A 达到最大油门开度 A3。到时间点 tf2 之前, 发动机转数 R 随着油门开度 A 的 操纵量而增加, 然后到时间点 tf3 之前暂时减小, 并且然后在时间点 tf3 之后再次增大。注 意, 在本实施方式的发动机声音生成设备 10 中, 升档油门开度 A2 可以是除了最大油门开度 A3 的一半以外的任何其它期望值。在这种情况下, 仅仅需要按照模型车辆 M 的工作特性设 定升档油门开度 A2。升档油门开度 A2 作为一个换档时油门开度设置信息 350 存储在存储 部分 30 中。按照前述的方式, 发动机声音生成设备 10 在降档时将油门开度 A 更新为降档油门 开度 A1, 而在升档时它将油门开度更新为升档油门开度 A2。就是说, 在检测到档位变化时, 发动机声音生成设备 10 对油门开度 A 进行更新, 以采用预定值。 在下面的介绍中, 将会在不 需要彼此区分的情况下把降档油门开度 A1 和升档油门开度 A2 总称为″变档油门开度″。
附图 12 是发动机声音生成设备 10 生成代表油门开度的信息的处理的流程图。首 先, 在步骤 S200, 处理部分 40 获得在附图 5 中所示的发动机转数生成处理中的步骤 S170 更 新了的档信息以及更新前的 ( 未更新的 ) 档信息 ( 即, 在步骤 S170 更新之前的档信息 )。 然 后, 在步骤 S210, 处理部分 40 确定经过更新的档是否与未更新的档不同。如果在步骤 S210 确定出这些档彼此不同, 则处理部分 40 判定存在换挡 ( 档位变化 )( 在步骤 S210 是肯定的 判断结果 ), 然后在步骤 S220 从存储部分 30 中获得换档时油门开度设置信息 350。 就是说, 处理部分 40 根据实际车辆 R 的车速信息判断是否存在换挡。在本实施方式中, 换挡的存在 与否是通过检测部分群 20、 存储部分 30 和处理部分 40 的操作来确定的, 它们一起构成了用 来确定是否有换挡的装置。在步骤 S300, 如果已经进行了换挡来降低了一档, 则处理部分 40 生成降档油门开度 A1 作为当前油门开度, 而如果已经进行了换挡来升高了一档, 则处理 部分 40 生成升档油门开度 A2 作为当前油门开度。
如果在步骤 S210 判定档彼此并非不同, 则处理部分 40 判定没有档位变化 ( 在步 骤 S210 是否定的判断结果 ), 并且因此, 处理部分 40 执行步骤 S230 到 S300 的操作, 以便根 据车速变化趋势值生成油门开度。就是说, 在步骤 S230, 处理部分 40 首先获得由车速检测 部分 210 检测到的实际车辆 R 的车速信息。 然后, 在步骤 S240, 处理部分 40 在周期 C2 期间将 所获取的实际车辆 R 的车速信息累积到 RAM 430 中。 然后, 在步骤 S250, 处理部分 40 根据所 累积的车速信息计算车速差值。然后, 在步骤 S260, 处理部分 40 根据车速差值计算车速变 化趋势值。然后, 在步骤 S270, 处理部分 40 判断计算出来的车速差值是否是″ 1″、 ″ 0″ 和″ -1″中的任一个。
如果计算出来的车速差值是″ 1″、 ″ 0″和″ -1″中的任何一个 ( 在步骤 S270 是肯定的判断结果 ), 则处理部分 40 前进到步骤 S280, 在这个步骤中, 处理部分 40 参考存 储在存储部分 30 中的表格 T2 来获得与步骤 S240 中最后累积的车速信息相对应的参考油 门开度。然后, 在步骤 S290, 处理部分 40 将所获得的参考油门开度与早一个周期 C2 的时 间点上的油门开度进行比较, 从而通过参考存储在存储部分中的表格 T3 获得油门开度修 正值。然后, 处理部分 40 将所获得的油门开度修正值与在早一个周期 C2 的时间点上检测 到的油门开度相加, 从而生成油门开度。这样, 在步骤 S300, 处理部分 40 使用所生成的油 门开度更新存储在 RAM 430 中的油门开度 A 的值, 并且将这样更新了的油门开度值存储到 RAM 430 中。
如果计算出来的车速差值不是″ 1 ″、″ 0 ″和″ -1 ″中的任何一个 ( 在步骤 S270 是否定的判断结果 ), 则在步骤 S290, 处理部分 40 参照存储在存储部分 30 中的表格 T1 来获得与所获得的车速变化趋势值相对应的油门开度修正值。处理部分 40 将所获得的油 门开度修正值与在早一个周期 C2 的时间点上检测到的油门开度相加, 从而生成油门开度。 这样, 在步骤 S300, 处理部分 40 使用这样生成的油门开度更新存储在 RAM 430 中的油门开 度 A 的值, 并且将这样更新了的油门开度值存储到 RAM 430 中。
如前面所提出的, 声音生成设备 10 根据车速信息生成发动机转数和油门开度。下面介绍发动机声音生成部分 50 如何使用所生成的发动机转数和油门开度生成模型车辆 M 的发动机声音数据和生成与实际车辆 R 的车速状态相对应的发动机声音。
附图 13 是由发动机声音生成部分 50 生成发动机声音的图解说明。发动机声音生 成部分 50 具有存储在操作状态设置存储部分 520 中的代表实际车辆 R 的操作状态的表格 T4。更具体地, 表格 T4 在方框 1 到 25 中存储着使用发动机转数和油门开度作为参数定义 的操作状态的各种样式。一旦从处理部分 40 输入了代表发动机转数和油门开度的信息, 发 动机声音生成部分 50 就会参照表格 T4 确定与所输入的发动机转数和油门开度相对应的实 际车辆 R 的操作状态的具体样式。注意, 存储实际车辆 R 的操作状态样式的方框的数量不 必局限于如图所示的二十五个, 而是可以大于或小于二十五个 ; 就是说, 可以在表格 T4 中 预存不是二十五个的期望数量的实际车辆 R 的操作状态样式。
发动机声音数据存储部分 510 中, 针对模型车辆 M 的指定车速区域内的各个操作 状态样式, 预存了与代表操作状态样式的发动机转数和油门开度相对应的发动机声音数 据。 所存储的发动机声音数据是一个燃烧循环中的燃爆部分的数据, 更具体地, 是与一个缸 体内一次燃爆相对应的数据。在本实施方式中, 在发动机声音数据存储部分 510 中预存了 与操作状态 1、 5、 13、 21 和 25 的样式相对应的发动机声音数据 W1、 W5、 W13、 W21 和 W25。发 动机声音生成部分 50 使用发动机声音数据 W1、 W5、 W13、 W21 和 W25 并且基于经过更新的油 门开度值和所获得的发动机转数信息生成合成的发动机声音数据。注意, 预存在发动机声 音数据存储部分 510 中的发动机声音数据可以是与车辆操作状态的部分或所有可能样式 相对应的发动机声音数据。 更具体地, 发动机声音生成部分 50 通过对发动机声音数据 W1、 W5、 W13、 W21 和 W25 进行加权并且对经过加权的发动机声音数据 W1、 W5、 W13、 W21 和 W25 进行叠加, 生成合成的 发动机声音数据。在操作状态样式 3 的情况下, 发动机声音生成部分 50 为发动机声音数 据 W1 和 W5 设定加权值″ 0.5″并且为发动机声音数据 W13、 W21 和 W25 设定加权值″ 0″。 然后, 发动机声音生成部分 50 将用 0.5 的加权值加权了的发动机声音数据 W1 和 W5 彼此叠 加, 从而针对操作状态样式 3 生成合成的发动机声音数据。此外, 在针对各个操作状态样式 都存储了发动机声音数据的情况下, 可以用加权值″ 1″对与操作状态样式相对应的发动 机声音数据进行加权, 并且可以用加权值″ 0″对其它发动机声音数据进行加权。 针对各个 操作状态样式的加权设置可以是依照模型车辆 M 的特性确定的。
由未示出的放大器对由发动机声音生成部分 50 按照前述方式生成的发动机声音 数据加以放大, 然后将其输出到外部扬声器或者类似的装置, 从而可听到地再现发动机声 音。外部扬声器或类似的装置安装在实际车辆 R 内部的适当位置, 使得驾驶车辆 R 的驾驶 人员能够很容易地听到可听见地再现的发动机声音, 或者安装在实际车辆 R 外部, 使得发 动机声音从车辆发散出来。
< 变型 1>
尽管前面已经介绍过本发明的实施方式, 但是本发明可以以各种不同的其它方式 具体实施。例如, 尽管前面介绍的实施方式被构造成为用来根据实际车辆 R 的车速信息生 成或获得发动机转数、 油门开度和有没有档位变化的信息, 但是这种发动机转数、 油门开度 和有没有档位变化的信息可以是从设置在实际车辆 R 上的传感器获得的。在这种情况下, 期望的是各个这些传感器向处理部分 40 以比前面提到的生成发动机声音所用的周期 C2 短
的循环周期输出由它们检测到的信息。
附图 14 是表示按照本发明的变型 1 的发动机声音生成设备 10a 的总体结构的框 图。 这一变型的发动机声音生成设备 10a 包括检测部分群 20a, 该检测部分群 20a 包括转数 检测部分 230a、 开度检测部分 240a 和档位变化检测部分 250a。转数检测部分 230a 包括用 于检测转数的传感器, 并且这一传感器设置在实际车辆 R 响应于车辆 R 的原动机的操作而 旋转的部分上。转数检测部分 230a 响应于传感器检测到的转数获得代表发动机旋转的信 息。转数检测部分 230a 向处理部分 40 输出这样获得的原动机转数。开度检测部分 240a 包括用于检测油门开度的传感器, 并且这一传感器设置在可由驾驶人员操纵来打开油门开 度的加速控制器上。开度检测部分 240a 向处理部分 40 输出由传感器检测到的油门开度。 注意, 用于检测油门开度的传感器可以设置在原动机的加速器阀上。
档位变化检测部分 250a 包括用于检测驾驶人员已经实施了或者通过自动控制器 实施了变速器的档位改变的传感器。一旦实施了档位改变, 档位变化检测部分 250a 就向处 理部分 40 输出代表已经实施了档位改变的信号。在接收到这一信号时, 处理部分 40 执行 前面介绍过的附图 12 中所示的步骤 S220 和 S330 的油门开度获得操作。
< 变型 2> 尽管前面介绍的发动机声音生成设备 10 的实施方式被构造成为用来在判定已经 实施了变速器升档的情况下生成升档油门开度作为油门开度, 但是变型的发动机声音生成 设备可以权当没有档位变化地执行油门开度生成处理。例如赛车响应于升档操作实施升 档, 不必使加速器回位, 因此是在加速器保持打开的情况下升档的。因此, 在模型车辆 M 是 赛车的情况下, 发动机声音生成设备 10 即使在已经有了档位变化的时候也可以进行根据 车速变化趋势值生成油门开度的操作, 只要档位变化是变速器升档。
< 变型 3>
尽管前面介绍的发动机声音生成设备 10 的实施方式被构造成为用来在生成发动 机转数时再现波动, 但是这一波动也可以在生成发动机声音的时候再现。在这种情况下, 发动机声音生成部分 50 仅仅必须使用随机数来使再现所生成的发动机声音数据的时间波 动。下面解释例如针对根据基于在时刻 t(n) 检测到的车速信息生成的发动机转数 R(n) 和 油门开度 A(n) 生成的基于发动机声音数据的发动机声音通过外部扬声器或类似装置在时 间点 t(n+α) 可听见地再现的情况的变型。″ α″表示从发动机声音生成部分 50 输出发 动机声音数据时的那一刻到外部扬声器或类似装置可听见地再现该发动机声音数据时的 那一刻所需的时间。在这种情况下, 发动机声音生成部分 50 可以生成从零到预定波动宽度 的最大值这一范围内的随机数值 ( 下文中将会把这一随机数值称为″波动值 F″ ), 并且在 延迟了波动值 F 的时间点输出发动机声音数据 ( 即, 在时间点 t(n+F))。
< 变型 4>
尽管前面介绍的实施方式被安排为使用表格 T2 来获得参考油门开度 BA, 但是也 可以使用下列等式来获得参考油门开度 BA :
参考油门开度 BA =车速 ×β+γ,
其中 β 和 γ 是依照模型车辆 M 的特性预先确定的并且预存在定档时油门开度设 置信息 340 中的常数。在这种情况下, 在附图 12 的步骤 S270 是肯定的判断结果时, 处理部 分 40 使用在步骤 S240 最后累积的车速信息和这些常数 β 和 γ 计算参考油门开度 BA。
< 变型 5>
尽管前面介绍的实施方式被安排为根据档信息确定档位变化, 但是处理部分 40 可以累积发动机转数信息并且根据所累积的发动机转数信息的变化率确定档位变化。例 如, 处理部分 40 可以按如下方式确定档位变化。即, 在附图 12 的步骤 S200, 处理部分 40 获 得发动机转数并且将所获得的发动机转数存储到 RAM 430 中。通过重复进行附图 12 的操 作, 将多个发动机转数累积到 RAM 430 中。然后, 处理部分 40 将所累积的发动机转数的变 化率转换为数值。
一般来说, 在实施变速器降档时, 一旦发动机与变档之后 ( 换挡之后 ) 的齿轮相 连, 已经减少了的发动机转数会快速变为增加, 如附图 10 中所示。另一方面, 在实施变速器 升档时, 已经增加了的发动机转数会迅速变为减少, 因为驾驶人员在分离变速器之前使加 速器回位了。处理部分 40 从累积的发动机转数信息中检测发动机转数的急剧变化。例如, 处理部分 40 将最后获得的发动机转数与倒数第二次获得的发动机转数进行比较并且在倒 数第二次获得的发动机转数与倒数第三次获得的发动机转数之间进行比较。然后, 处理部 分 40 计算所比较的发动机转数之间的差的绝对值, 并且如果这些绝对值大于预定值, 则判 定已经实施了档位改变。
< 变型 6>
作为变型, 可以由设定用于前面介绍的实施方式中的虚拟车速计算的实际车辆 R 的最大速度的操作员来计算虚拟车速。在这种情况下, 操作员操纵操作部分 60 以输入与车 辆的操作状态相对应的车速值作为车速区域设置信息 320 中的实际车辆 R 的最大速度的设 置值。例如, 在车辆在限速固定为 100km/h 的高速公路上行驶的情况下, 操作员输入并设 定″ 100″ (km/h) 这个值作为最大速度。通过这一设置, 操作员可以通过以 100km/h 的速 度行驶来感受到模型车辆 M 的最大速度下的发动机声音。
< 变型 7>
尽管前面介绍的实施方式被安排为用来以表格 T1 中所指出的方式设置车辆变化 趋势与油门开度修正值之间的关系, 但是车辆变化趋势与油门开度修正值之间的这一关系 也可以依照存储在发动机声音数据存储部分 510 中的发动机声音数据来设置。假设, 例如, 发动机声音数据存储部分 510 中存储着需要较大加速器操作量的模型车辆 M 的发动机声音 数据。在这种情况下, 仅仅需要将油门开度修正值设置得比表格 T1 中存储的油门开度修正 值大。
< 变型 8>
实际车辆 R 仅仅需要是配备有原动机的车辆, 比如具有手动变速器或自动变速器 的发动机驱动的车辆、 电动车辆或混合动力车辆, 或者摩托车。在实际车辆 R 是摩托车的情 况下, 前面提到的外部扬声器或类似装置设置在例如头盔内并且发出声音, 从而驾驶人员 能够听到声音。为了生成模型车辆 M 的发动机声音, 发动机声音生成设备 10 根据实际车辆 R 的车速信息和加速度信息生成代表发动机转数和油门开度的信息。在实际车辆 R 是电动 车辆的情况下, 实际上不会导致发动机旋转和打开加速器来调整燃油供应量。 不过, 在这种 情况下也一样, 发动机声音生成设备 10 根据实际车辆 R 的车速信息和加速度信息生成代表 发动机转数和油门开度的信息, 以便生成模型车辆 M 的发动机声音。在实际车辆 R 是电动 车辆的情况下也一样, 驾驶人员通过使用诸如加速器踏板之类的加速控制器来调节原动机( 即, 马达 ) 的旋转, 以促使实际车辆 R 行进。发动机声音生成设备 10 可以检测马达的转数 或检测操纵马达的控制器的操纵量, 并且使用所检测到的转数或操纵量作为生成发动机声 音用的信息。因此, 即便在实际车辆 R 是电动车辆的情况下, 也可以按照驾驶人员的操作状 态行进。 因此, 即使发动机声音基于虚拟的发动机转数和油门开度, 驾驶人员也能够将虚拟 的发动机声音感觉为由驾驶人员的驾驶产生的发动机声音, 只要虚拟的发动机声音是依照 驾驶人员的操作状态生成的。
< 变型 9>
尽管前面介绍的发动机声音生成设备 10 的实施方式被安排为用来使用存储在发 动机声音数据存储部分 510 中的发动机声音数据生成合成的发动机声音数据, 但是合成的 发动机声音数据也可以根据更新后的油门开度值或者所生成的或获得的发动机转数信息 来生成。在这种情况下, 可以预先使用发声器创建原始发动机声音数据, 比如 FM( 调频 ) 发 声器或模拟模型发声器。发动机声音生成设备 10 可以通过使用油门开度和发动机转数的 信息作为参数处理原始发动机声音数据来生成模型车辆 M 的发动机声音数据。
< 变型 10>
尽管前面介绍的发动机声音生成设备 10 的实施方式被安排为用来使用与发动机 转数和油门开度相对应的发动机声音数据, 但是发动机声音生成设备 10 也可以使用仅仅 与所获得的发动机转数相对应的发动机声音数据。在这种情况下, 发动机声音生成设备 10 使用发动机声音数据存储部分 510 中存储的发动机声音数据并且基于所获得的发动机转 数信息生成合成的发动机声音数据。按照另外一种可选方案, 发动机声音生成设备 10 可以 使用仅仅与经过更新的油门开度相对应的发动机声音数据。在这种情况下, 发动机声音生 成设备 10 使用发动机声音数据存储部分 510 中存储的发动机声音数据并且基于经过更新 的油门开度值生成合成的发动机声音数据。