In-Cell投射电容触摸屏:iPhone引领的互电容技术

需积分: 25 5 下载量 33 浏览量 更新于2024-07-10 收藏 1.86MB PPT 举报
"投射电容触摸屏(PCT)-In-Cell触摸屏原理" 投射电容触摸屏(Projective Capacitive Touch Panel,PCT)是现代触摸屏技术中的一种主流形式,尤其在智能手机和平板电脑等领域广泛应用。PCT触摸屏主要分为自电容(self capacitive)和互电容(mutual capacitive)两种类型。 自电容触摸屏是早期的技术,它源自于触摸键和触摸板。这种类型的触摸屏中,每个传感器节点都是独立的,手指靠近会改变该节点的电容,通过检测电容变化来确定触摸位置。自电容屏的一个显著特点是响应速度较快,但难以实现多点触控。 互电容技术则由苹果公司的iPhone引领并迅速发展,它是目前最广泛采用的触摸屏技术。在互电容屏中,横向和纵向的电极网格交织形成多个电容节点,当手指接近时,会在这些节点间形成耦合,改变电容值。通过检测这些电容变化,系统可以准确识别多点触控,提供更丰富的交互体验。互电容技术具有高精度、稳定性和多点触控能力,因此在智能手机和高端设备中占据主导地位。 In-Cell触摸屏技术则是将触摸传感器集成到液晶显示(LCD)面板的内部,减少了屏幕的层数,使得整体更加轻薄。这包括将电阻式或电容式的触摸层嵌入到LCD的顶部和底部玻璃之间。In-Cell技术提高了显示面板的光学性能,降低了生产成本,并有助于设备的轻量化设计。 1. 电阻式触摸屏(Resistive Touch Panel): - 基本原理:两层透明导电氧化物(ITO)基板,一层固定,一层可动。触摸时,两者相接触,形成电阻通路,通过测量电压变化确定触点位置。 - 分类:4/5/6/8线电阻式,数字电阻式,以及集成到LCD单元中的电阻式触摸屏。 - 特性:低成本,易损坏,低透光率,可用任何物体触控,但寿命较短。 2. 电容式触摸屏(Capacitive Touch Panel): - 原理:利用人体电容或手指对电容的影响来检测触控。 - 表面电容式:改变顶部玻璃的电容进行检测,一般不支持多点触控。 - 投射电容式:通过检测自电容或互电容的变化,支持多点触控,且性能更优。 3. 其他类型的触摸屏:包括红外(IR),表面声波(SAW),电磁(Electromagnetic),光学(Optical)等,各有特点,适应不同应用场景。 投射电容触摸屏(PCT)尤其是互电容技术,凭借其优秀的性能和多点触控能力,成为了现代智能设备的标准配置。而In-Cell技术的出现,进一步推动了触摸屏技术的发展,提升了产品的设计感和用户体验。

def encode(self, source_padded: torch.Tensor, source_lengths: List[int]) -> Tuple[ torch.Tensor, Tuple[torch.Tensor, torch.Tensor]]: enc_hiddens, dec_init_state = None, None """ add your code here -- 5 目标: 1. 将编码器应用于源句子以获得编码器的隐藏状态。 2. 将编码器的最终状态投射到解码器,以获得解码器的初始状态。 步骤: 1. 使用 self.model_embeddings 在 src sentences 上构建一个 Tensor `X`, shape (max_sent_len, batch_size, embedding_size) 注意, encoder和 decoder 不同, encoder是没有初始的 hidden state和cell state的. 2. 把 self.encoder 作用到 X 上 得到 `enc_hiddens`, `last_hidden`, `last_cell`. - 首先 使用 pack_padded_sequence 函数到 X 上, 把处理后的 Tensor 送进 self.encoder中. - 使用 pad_packed_sequence 函数到 enc_hiddens. - 注意: 编码器的输出是shape (max_src_sent_len, batch_size, hidden_size*2), 需要permute 成 (batch_size, max_src_sent_len, hidden_size*2) - 注意: 使用 pad_packed_sequence 时, batch 中的每一个元素应该是相同的shape 3. 获得解码器的初始状态: `dec_init_state` = (init_decoder_hidden, init_decoder_cell): - `init_decoder_hidden`: 解码器 初始hidden-state - 编码器的`last_hidden` 的 shape (2, batch_size, hidden_size), 因为编码器是双向的. - Concatenate 双向的hidden—state 得到 shape (batch_size, 2*hidden_size). - 使用 self.h_projection, 得到 init_decoder_hidden. - `init_decoder_cell`: 解码器 初始 cell-state - 编码器的`last_cell` 的 shape (2, batch_size, hidden_size), 因为编码器是双向的. - Concatenate 双向的hidden—state 得到 shape (batch_size, 2*hidden_size).. - 使用 self.c_projection 得到 init_decoder_cell.

2023-06-03 上传